{"componentChunkName":"component---src-templates-post-js","path":"/blog/serverless-and-cloud-compute","webpackCompilationHash":"0f979b9b09e9513b4912","result":{"data":{"site":{"siteMetadata":{"keywords":["blog","ubug","tech blog","技术博客","playground"]}},"mdx":{"fields":{"title":"🌀 serverless 时代和云计算时代","tips":[],"categories":["code"],"datetime":"2020-04-20 21:22:43","noFooter":false,"description":"serverless 就是不需要买/租服务器就能把程序运行起来。那程序放到哪？怎么触发？调用数据库怎么办？怎么写代码？怎么部署和运行？","plainTextDescription":"serverless 就是不需要买/租服务器就能把程序运行起来。那程序放到哪？怎么触发？调用数据库怎么办？怎么写代码？怎么部署和运行？\n","author":"Ubug","banner":{"childImageSharp":{"fluid":{"tracedSVG":"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='400'%20height='180'%3e%3cpath%20d='M0%2090v90h401V0H0v90m163-77v1l-3%202-3%201c0-2%200-1-7%202l-5%203%205%203c7%203%208%204%206%201-3-3-2-3%204%201%204%202%204%202%202%203l-2%201%202%201%203%202-13-6c-7-4-8-5-10-4s-2%201-1%202%201%201-1%201h-1c1%201%201%201-2%202l-3%201-8%205%2011%205-2-3c-5-3-2-3%204%202%205%202%205%203%203%203h-2l3%202%201%203v1l1%2021%201%2019V46l4%202c5%202%206%203%204%201-2-3-1-2%206%201%205%203%205%203%203%204l-2%201%202%201c2%201%202%201%202%2022l1%2021%209-5%209-5V47l-8-5c-8-5-11-8-4-4%204%201%205%201%202-1-3-3%201-2%206%202%205%202%205%203%203%203h-2l2%202%203%202v41l8-4%209-6c2%200%202-2%202-17l1-17v-1l-1-4c0-3%200-4-9-9a71%2071%200%2000-12-6c0-1-17-11-19-11l-2%201m-11%2089l-8%205-8%204-3-2-5-2c0%201%206%205%2010%205%202%201%204%200%207-2%205-2%206-2%206-1l-7%205-8%204-7-4c-5-3-8-5-7-6l-1-1c-3%201-2%203%206%208%2010%206%2012%206%2020%201%207-3%209-7%206-8v-7l-1%201m51%2030c0%206%200%207%202%207l1-3%201-3%202%203%204%203c1%200%201-1-1-4v-3c3-4%200-8-5-8h-4v8m39%200c0%206%200%207%202%207l1-3%201-3%202%203%204%203c1%200%201-1-1-4v-3c3-4%200-8-5-8h-4v8m-38%2012c-2%202-3%209-1%2011%204%206%2012%202%2012-5s-7-11-11-6m29%206v7h4c6%200%208-2%208-7%200-6-2-8-8-8h-4v8m35-7c-4%202-4%2011%200%2013%207%205%2014-5%209-12-1-2-6-3-9-1m-63%202c-3%203-1%2011%204%2011%203%200%204-3%204-7%200-5-5-8-8-4m64%200l-2%205c0%205%207%208%209%204%204-7-3-15-7-9'%20fill='%23573ede'%20fill-rule='evenodd'/%3e%3c/svg%3e","aspectRatio":2.2222222222222223,"src":"/static/63915122abea25dcad04ca23d30ff2a8/b36f0/banner.png","srcSet":"/static/63915122abea25dcad04ca23d30ff2a8/82675/banner.png 500w,\n/static/63915122abea25dcad04ca23d30ff2a8/fef60/banner.png 1000w,\n/static/63915122abea25dcad04ca23d30ff2a8/b36f0/banner.png 1200w","srcWebp":"/static/63915122abea25dcad04ca23d30ff2a8/45222/banner.webp","srcSetWebp":"/static/63915122abea25dcad04ca23d30ff2a8/7fe04/banner.webp 500w,\n/static/63915122abea25dcad04ca23d30ff2a8/d619e/banner.webp 1000w,\n/static/63915122abea25dcad04ca23d30ff2a8/45222/banner.webp 1200w","sizes":"(max-width: 1200px) 100vw, 1200px"}}},"bannerCredit":null,"slug":"/blog/serverless-and-cloud-compute","tags":["serverless"]},"headings":[{"value":"一、什么是 serverless 无服务架构","depth":2},{"value":"所以","depth":3},{"value":"二、不同的视角","depth":2},{"value":"1. 阴谋论的想法：","depth":3},{"value":"2. 从前端的视角写在前面：","depth":3},{"value":"3. 从整体技术架构的角度来说：","depth":3},{"value":"4. serverless 的目标","depth":3},{"value":"5. serverless 的局限","depth":3},{"value":"三、一些实例","depth":2},{"value":"1. 前端的 SSR","depth":3},{"value":"2. 传统的业务","depth":3},{"value":"四、我的使用","depth":2},{"value":"五、现代云计算","depth":2}],"body":"const _excluded = [\"components\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }\n/* @jsx mdx */\n\nconst _frontmatter = {\n  \"slug\": \"serverless-and-cloud-compute\",\n  \"title\": \"🌀 serverless 时代和云计算时代\",\n  \"date\": \"2020-04-20 21:22:43\",\n  \"author\": \"Ubug\",\n  \"description\": \"serverless 就是不需要买/租服务器就能把程序运行起来。那程序放到哪？怎么触发？调用数据库怎么办？怎么写代码？怎么部署和运行？\",\n  \"categories\": [\"code\"],\n  \"tags\": [\"serverless\"],\n  \"banner\": \"./banner.png\"\n};\nconst makeShortcode = name => function MDXDefaultShortcode(props) {\n  console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n  return mdx(\"div\", props);\n};\nconst layoutProps = {\n  _frontmatter\n};\nconst MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  let {\n      components\n    } = _ref,\n    props = _objectWithoutProperties(_ref, _excluded);\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"hr\", null), mdx(\"blockquote\", null, mdx(\"p\", {\n    parentName: \"blockquote\"\n  }, \"\\u60F3\\u5206\\u4EAB\\u7684\\u662F serverless \\u7684\\u7406\\u89E3\\uFF0C\\u4FDD\\u6301\\u773C\\u754C\\u5F00\\u9614\\uFF0C\\u601D\\u8003\\u80FD\\u529B\\u7684\\u4EF7\\u503C\\uFF0C\\u62E5\\u62B1\\u53D8\\u5316~~~\")), mdx(\"hr\", null), mdx(\"h2\", null, \"\\u4E00\\u3001\\u4EC0\\u4E48\\u662F serverless \\u65E0\\u670D\\u52A1\\u67B6\\u6784\"), mdx(\"p\", null, \"\\u542C\\u8D77\\u6765\\u5F88\\u9AD8\\u5927\\u4E0A\\uFF0C\\u706B\\u7684\\u4E0D\\u8981\\u4E0D\\u8981\\u7684\\u8BCD\\uFF0C\\u770B\\u4E86 n \\u7BC7\\u6587\\u7AE0\\u4E5F\\u4E0D\\u77E5\\u9053\\u662F\\u4EC0\\u4E48\\uFF0C\\u90FD\\u5728\\u8BF4\\u601D\\u60F3\\u591A\\u597D\\u591A\\u597D\\uFF0C\\u4EC0\\u4E48 Faas\\u3001Baas\\u3001\\u65E0\\u670D\\u52A1\\u5316\\u3001\\u4E91\\u539F\\u751F\\u4E4B\\u7C7B\\u7684\\u8BCD\\uFF0C\\u770B\\u7684\\u66F4\\u8FF7\\u7CCA\\u4E86\\u3002\"), mdx(\"p\", null, \"\\u5176\\u5B9E\\uFF1A\"), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"serverless \\u5C31\\u662F\\u4E0D\\u9700\\u8981\\u4E70/\\u79DF\\u670D\\u52A1\\u5668\\u5C31\\u80FD\\u628A\\u7A0B\\u5E8F\\u8FD0\\u884C\\u8D77\\u6765\\u3002\")), mdx(\"p\", null, \"\\u5C0F\\u670B\\u53CB\\u6709\\u5F88\\u591A\\u95EE\\u53F7\\uFF1A\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"\\u90A3\\u7A0B\\u5E8F\\u653E\\u5230\\u54EA\\uFF1F\"), \" \\u653E\\u5230\\u4E91\\u670D\\u52A1\\u5546\\u63D0\\u4F9B\\u7684\\u4E91\\u51FD\\u6570\\u91CC\\u9762\\u3002\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"\\u600E\\u4E48\\u63D0\\u4F9B\\u670D\\u52A1\\uFF1F\"), \" \\u4E00\\u4E2A\\u4E91\\u51FD\\u6570\\u53EF\\u4EE5\\u4F7F\\u7528 http \\u88AB\\u5BA2\\u6237\\u7AEF\\u8BBF\\u95EE\\u8FD4\\u56DE\\u54CD\\u5E94\\uFF0C\\u6216\\u8005\\u4E91\\u5B58\\u50A8\\u91CC\\u9762\\u7684\\u6587\\u4EF6\\u53D8\\u52A8\\u4E8B\\u4EF6\\u89E6\\u53D1\\u6267\\u884C\\u52A8\\u4F5C\\u7B49\\u3002\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"\\u8C03\\u7528\\u6570\\u636E\\u5E93\\u600E\\u4E48\\u529E\\uFF1F\"), \" \\u6570\\u636E\\u5E93\\u3001\\u6587\\u4EF6\\u5B58\\u50A8\\u3001\\u65E5\\u5FD7\\u7B49\\u4F7F\\u7528 Baas \\u670D\\u52A1\\u8C03\\u7528\\u63A5\\u53E3\\u6216\\u8005 SDK\\uFF0C\\u4E5F\\u53EF\\u4EE5\\u901A\\u8FC7\\u7F51\\u5173\\u8DEF\\u7531\\u8BBF\\u95EE\\u4F20\\u7EDF\\u6570\\u636E\\u5E93\\u3002\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"\\u600E\\u4E48\\u5199\\u4EE3\\u7801\\uFF1F\"), \" serverless \\u66F4\\u5F3A\\u8C03\\u7684\\u662F\\u90E8\\u7F72\\u548C\\u8FD0\\u884C\\uFF0C\\u9664\\u4E86\\u8C03\\u7528\\u540E\\u7AEF\\u548C\\u65E0\\u72B6\\u6001\\uFF0C\\u5176\\u4ED6\\u548C\\u4EE5\\u524D\\u4E00\\u6837\\u3002\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"\\u600E\\u4E48\\u90E8\\u7F72\\u548C\\u8FD0\\u884C\\uFF1F\"), \" \\u53EF\\u4EE5\\u5728\\u4E91\\u51FD\\u6570\\u63D0\\u4F9B\\u7684\\u5728\\u7EBF\\u7F16\\u8F91\\u5668\\uFF0C\\u6216\\u8005\\u4E0A\\u4F20\\u4EE3\\u7801\\u7B49\\u65B9\\u5F0F\\u5230\\u8FD0\\u884C\\u73AF\\u5883\\uFF0C\\u4E0D\\u518D\\u9700\\u8981\\u81EA\\u5DF1\\u5904\\u7406\\u73AF\\u5883\\u3001\\u76D1\\u542C\\u7AEF\\u53E3\\u4E4B\\u7C7B\\u7684\\u3002\")), mdx(\"p\", null, \"\\u90A3\\u79DF\\u670D\\u52A1\\u5668\\u5C31\\u53EF\\u4EE5\\uFF0C\\u4E3A\\u5565\\u7528\\u8FD9\\u4E2A\\u522B\\u626D\\u7684\\u65B9\\u5F0F\\u90E8\\u7F72\\u8FD0\\u884C\\u5462\\uFF1F\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"\\u4E70 IDC \\u670D\\u52A1\\u5668\\u4E0D\\u597D\\u6269\\u5BB9\\u4F38\\u7F29\\u5C31\\u76F4\\u63A5\\u4E0D\\u8BF4\\u4E86\\u3002IaaS \\u4E91\\u670D\\u52A1\\u5668\\u53EF\\u4EE5\\u6269\\u5BB9\\u4F38\\u7F29\\uFF0C\\u4F46\\u662F\\u5982\\u679C\\u8981\\u8D1F\\u8F7D\\u5747\\u8861\\u548C\\u5206\\u5E03\\u5F0F\\uFF0C\\u548C\\u4F20\\u7EDF\\u7684\\u670D\\u52A1\\u5668\\u4E00\\u6837\\u505A\\u96C6\\u7FA4\\uFF0C\\u5305\\u62EC\\u7EF4\\u62A4\\u90FD\\u662F\\u6210\\u672C\\u3002\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"serverless \\u4E0D\\u7528\\u7BA1\\u90E8\\u7F72\\u3001\\u67B6\\u6784\\u6216\\u8FD0\\u7EF4\\uFF0C\\u53EA\\u8981\\u4F60\\u7684\\u4EE3\\u7801\\u903B\\u8F91\\u6CA1\\u95EE\\u9898\\uFF0C\\u518D\\u5927\\u7684\\u8BBF\\u95EE\\u91CF\\u90FD\\u80FD\\u81EA\\u52A8\\u627F\\u8F7D\\uFF0C\\u6700\\u540E\\u6309\\u9700\\u4ED8\\u8D39\\u5373\\u53EF\\u3002\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"\\u5927\\u5382\\u5728\\u4F7F\\u7528\\u4E4B\\u540E\\u7684\\u7ED3\\u8BBA\\u8BF4\\u90E8\\u7F72\\u548C\\u8FD0\\u7EF4\\u7684\\u5DE5\\u4F5C\\u80FD\\u51CF\\u5C11 80%\\u4EE5\\u4E0A\\uFF0C\\u975E\\u5E38\\u53EF\\u89C2\\u3002\")), mdx(\"h3\", null, \"\\u6240\\u4EE5\"), mdx(\"p\", null, \"serverless \\u4E0D\\u662F\\u4E00\\u4E2A\\u6280\\u672F\\u3001\\u4E0D\\u662F\\u4E00\\u4E2A\\u4EA7\\u54C1\\u3001\\u4E0D\\u4EC5\\u4EC5\\u662F faas + baas\\u3001\\u4E0D\\u662F\\u6CA1\\u6709\\u670D\\u52A1\\u5668\\u3001\\u4E0D\\u53EA\\u662F\\u53EF\\u6269\\u5BB9\\u3001\\u66F4\\u4E0D\\u662F\\u67D0\\u4E00\\u4E2A\\u89E3\\u51B3\\u65B9\\u6848\\u3002\\u800C\\u662F\\u4E00\\u4E2A\\u6982\\u5FF5\\u3001\\u4E00\\u79CD\\u5B9E\\u8DF5\\u601D\\u60F3\\u3001\\u4E00\\u79CD\\u76EE\\u6807\\u3002\\u6709\\u5F88\\u591A\\u7684\\u5177\\u4F53\\u4EA7\\u54C1\\u3001\\u89E3\\u51B3\\u65B9\\u6848\\u3001\\u5F88\\u591A\\u7684\\u67B6\\u6784\\u80FD\\u591F\\u5B9E\\u73B0 serverless\\u3002\"), mdx(\"p\", null, \"\\u90A3 serverless \\u7684\\u5B9A\\u4E49\\u4ECE\\u5B57\\u9762\\u610F\\u4E49 \\u201C\\u65E0\\u9700\\u5173\\u5FC3\\u670D\\u52A1\\u5668\\u201D \\u6765\\u770B\\uFF1A\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"GitHub Pages \\u9759\\u6001\\u7F51\\u7AD9\\u6258\\u7BA1\\u7B97\\u4E0D\\u7B97 serverless?\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"CDN \\u7B97\\u4E0D\\u7B97\\u662F serverless?\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u5BF9\\u8C61\\u5B58\\u50A8\\u7B97\\u4E0D\\u7B97\\u662F serverless?\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"githooks \\u89E6\\u53D1\\uFF0C\\u6216\\u8005\\u5B9A\\u65F6\\u8FD0\\u884C\\u7684\\u7B2C\\u4E09\\u65B9\\u6301\\u7EED\\u6784\\u5EFA\\u670D\\u52A1\\u7B97\\u4E0D\\u7B97\\u662F serverless?\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u538B\\u7F29\\u5305\\u6587\\u4EF6\\u4E0A\\u4F20\\uFF0C\\u89E6\\u53D1\\u7684\\u5BF9\\u8C61\\u5B58\\u50A8\\u4E2D\\u7684\\u89E3\\u538B\\u7A0B\\u5E8F\\u7B97\\u4E0D\\u7B97\\u662F serverless?\")), mdx(\"p\", null, \"\\u6309\\u7167\\u6211\\u7684\\u7406\\u89E3\\uFF0C\\u8FD9\\u4E9B\\u90FD\\u7B97\\uFF0C\\u56E0\\u4E3A\\u6CA1\\u6709\\u4E00\\u4E2A\\u9700\\u8981\\u767B\\u5F55\\u670D\\u52A1\\u5668\\uFF0C\\u6CA1\\u6709\\u4E00\\u4E2A\\u77E5\\u9053\\u670D\\u52A1\\u5668\\u6216\\u8005\\u4EE3\\u7801\\u5728\\u54EA\\uFF0C\\u4E0D\\u9700\\u8981\\u5173\\u5FC3\\uFF0C\\u8FD9\\u6837\\u8FD9\\u79CD\\u601D\\u60F3\\u6765\\u8BF4\\u8FD9\\u4E9B\\u670D\\u52A1\\u867D\\u7136\\u4E4B\\u524D\\u5C31\\u5B58\\u5728\\uFF0C\\u4F46\\u662F\\u786E\\u5B9E\\u662F\\u5B9E\\u6253\\u5B9E\\u7684\\u4E0D\\u5173\\u7CFB\\u670D\\u52A1\\u5668\\uFF0C\\u4EC5\\u662F\\u8FD9\\u6837\\u6211\\u4EEC\\u7684\\u5F00\\u53D1\\u548C\\u90E8\\u7F72\\u5C31\\u5DF2\\u7ECF\\u53D8\\u5F97\\u5F88\\u8F7B\\u677E\\u4E86\\u3002\"), mdx(\"p\", null, \"serverless \\u66F4\\u6709\\u524D\\u666F\\uFF0C\\u66F4\\u52A0\\u590D\\u6742\\uFF0C\\u9700\\u8981\\u8003\\u8651\\u6BD4\\u8F83\\u591A\\u7684\\u662F\\uFF1A\\u201C\\u53EF\\u4F38\\u7F29\\u201D \\u7684 \\u201C\\u8BA1\\u7B97\\u80FD\\u529B\\u201D \\u7684 \\u201C\\u4E0D\\u5173\\u5FC3\\u670D\\u52A1\\u201D\\uFF0C\\u66F4\\u5F3A\\u8C03\\u5728\\u65E0\\u9700\\u5173\\u5FC3\\u670D\\u52A1\\u5668\\u7684\\u524D\\u63D0\\u4E0B\\uFF0C\\u6574\\u4E2A\\u8BA1\\u7B97\\u80FD\\u529B\\u5C01\\u88C5\\u7684\\u89E3\\u51B3\\u65B9\\u6848\\uFF0C\\u4F7F\\u5F97\\u6211\\u4EEC\\u7684\\u8BA1\\u7B97\\u80FD\\u591F\\u6839\\u636E\\u627F\\u8F7D\\u9700\\u6C42\\u5C3A\\u5EA6\\u53EF\\u53D8\\uFF0C\\u7528\\u7684\\u65F6\\u5019\\u624D\\u4F1A\\u6709\\u670D\\u52A1\\u5668\\u8FD0\\u884C\\u8BA1\\u7B97\\u3002\\u6700\\u7EC8\\u8FBE\\u5230\\u8FD9\\u6837\\u4E00\\u4E2A\\u76EE\\u6807\\uFF1A\"), mdx(\"blockquote\", null, mdx(\"p\", {\n    parentName: \"blockquote\"\n  }, \"\\u6CA1\\u4EBA\\u4F7F\\u7528\\u4E0D\\u4ED8\\u8D39\\u3001\\u968F\\u65F6\\u5F85\\u547D\\u89E6\\u53D1\\u8BA1\\u7B97\\u3001\\u80FD\\u591F\\u65E0\\u4EBA\\u4ECB\\u5165\\u7684\\u627F\\u8F7D\\u4E0D\\u540C\\u91CF\\u7EA7\\u7684\\u8BA1\\u7B97\\u9700\\u6C42\\u3001\\u6700\\u540E\\u6839\\u636E\\u4F7F\\u7528\\u91CF\\u4ED8\\u8D39\\u3002\")), mdx(\"h2\", null, \"\\u4E8C\\u3001\\u4E0D\\u540C\\u7684\\u89C6\\u89D2\"), mdx(\"h3\", null, \"1. \\u9634\\u8C0B\\u8BBA\\u7684\\u60F3\\u6CD5\\uFF1A\"), mdx(\"p\", null, \"\\u4E91\\u670D\\u52A1\\u5546\\u8D39\\u52B2\\u5427\\u54A7\\u7684\\u63A8\\u5E7F serverless\\uFF0C\\u4E00\\u65B9\\u9762\\u89E3\\u653E\\u4E2D\\u5C0F\\u516C\\u53F8\\u7684\\u751F\\u4EA7\\u529B\\uFF0C\\u80FD\\u591F\\u805A\\u7126\\u5230\\u66F4\\u6709\\u610F\\u4E49\\u7684\\u4E1A\\u52A1\\u5C42\\u9762\\u3002\\u53E6\\u4E00\\u65B9\\u9762\\u4E5F\\u662F\\u4FEE\\u7B51\\u4E86\\u66F4\\u9AD8\\u7684\\u4E1A\\u52A1\\u57CE\\u5899\\uFF0CBaas \\u548C Faas \\u7684\\u5B9E\\u73B0\\u5982\\u679C\\u8FC1\\u79FB\\u8D77\\u6765\\uFF0C\\u5C06\\u4F1A\\u662F\\u4E0D\\u53EF\\u80FD\\u5B8C\\u6210\\u7684\\u4EFB\\u52A1\\u3002\"), mdx(\"p\", null, \"\\u4E91\\u670D\\u52A1\\u5546\\u7C7B\\u5982\\u56FD\\u5185\\u963F\\u91CC\\u4E91\\u548C\\u817E\\u8BAF\\u4E91\\uFF0C\\u4E00\\u76F4\\u5728\\u62FC\\u547D\\u5730\\u5B89\\u5229 serverless \\u7684\\u9769\\u547D\\u6027\\uFF0C\\u786E\\u5B9E\\u4E0D\\u53EF\\u5426\\u8BA4\\u662F\\u5F88\\u597D\\u7684\\u80FD\\u529B\\uFF0C\\u5BF9\\u4E8E\\u4ED6\\u4EEC\\u5185\\u90E8\\u5229\\u76CA\\u76F8\\u5173\\u7684\\u6280\\u672F\\u56E2\\u961F\\u4F7F\\u7528\\u66F4\\u52A0\\u6807\\u51C6\\u7075\\u6D3B\\u7684\\u65B9\\u6848\\uFF0C\\u5BF9\\u4E8E\\u6210\\u672C\\u3001\\u6548\\u7387\\u90FD\\u662F\\u6700\\u4F18\\u7684\\uFF0C\\u4F46\\u662F\\u5BF9\\u4E8E\\u522B\\u7684\\u516C\\u53F8\\u53EF\\u80FD\\u5E76\\u6CA1\\u6709\\u90A3\\u4E48\\u7F8E\\u597D\\u3002\"), mdx(\"p\", null, \"\\u4E00\\u822C\\u4E2D\\u5C0F\\u578B\\u516C\\u53F8\\u60F3\\u8981\\u4F7F\\u7528\\u8FD9\\u79CD serverless \\u7684\\u6A21\\u5F0F\\uFF0C\\u4ECE\\u5934\\u5F00\\u53D1\\u7684\\u6210\\u672C\\u5F88\\u9AD8\\uFF0C\\u65E0\\u529B\\u5B9E\\u73B0\\uFF0C\\u6240\\u4EE5\\u53EA\\u80FD\\u91C7\\u8D2D\\u4E91\\u670D\\u52A1\\u5546\\u7684\\u65B9\\u6848\\uFF0C\\u800C\\u6BCF\\u4E00\\u4E2A\\u4E91\\u670D\\u52A1\\u5546\\u7684 Faas \\u548C Baas \\u90FD\\u662F\\u81EA\\u6210\\u4F53\\u7CFB\\u7684\\uFF0C\\u9009\\u4E86\\u4E00\\u4E2A\\u5C31\\u5F88\\u96BE\\u540E\\u671F\\u8FC1\\u79FB\\u5230\\u81EA\\u5DF1\\u7684\\u673A\\u623F\\u6216\\u8005\\u66F4\\u6362\\u4E91\\u670D\\u52A1\\u5546\\u4E86\\uFF0C\\u8FD9\\u4E5F\\u662F\\u5F88\\u591A\\u6280\\u672F\\u4EBA\\u90FD\\u5F88\\u770B\\u597D\\u6280\\u672F\\u672C\\u8EAB\\uFF0C\\u4F46\\u662F\\u6CA1\\u6709\\u5927\\u89C4\\u6A21\\u8FDB\\u5165\\u7684\\u539F\\u56E0\\u3002\"), mdx(\"p\", null, \"\\u6240\\u4EE5\\u4E91\\u670D\\u52A1\\u5546\\u63D0\\u4F9B\\u8FD9\\u4E9B\\u80FD\\u529B\\uFF0C\\u7136\\u540E\\u5230\\u5904\\u6280\\u672F\\u8F93\\u51FA\\u5B89\\u5229\\uFF0C\\u4E5F\\u662F\\u4E00\\u79CD\\u5708\\u5730\\u7684\\u8868\\u73B0\\uFF0C\\u751A\\u81F3\\u6709\\u4EBA\\u8BF4\\u8FD9\\u662F\\u57FA\\u5EFA\\u7684\\u5784\\u65AD\\u4E5F\\u662F\\u6709\\u4E00\\u5B9A\\u7684\\u9053\\u7406\\u3002\\u4ECE\\u8FD9\\u4E2A\\u89D2\\u5EA6\\u6765\\u8BF4\\uFF0C\\u975E\\u5E38\\u5E0C\\u671B\\u4E1A\\u5185\\u80FD\\u591F\\u5C06 FaaS \\u548C BaaS \\u6280\\u672F\\u548C\\u8FDE\\u63A5\\u90FD\\u6807\\u51C6\\u5316\\uFF0C\\u6216\\u8005\\u5F00\\u53D1\\u51FA\\u7C7B\\u4F3C\\u5BB9\\u5668\\u6807\\u51C6\\u7684\\u67B6\\u6784\\uFF0C\\u4E0D\\u8FC7\\u8FD9\\u4E2A\\u5F88\\u4E0D\\u7B26\\u5408\\u5404\\u4E2A\\u5382\\u5546\\u81EA\\u5DF1\\u7684\\u5229\\u76CA\\u3002\"), mdx(\"h3\", null, \"2. \\u4ECE\\u524D\\u7AEF\\u7684\\u89C6\\u89D2\\u5199\\u5728\\u524D\\u9762\\uFF1A\"), mdx(\"p\", null, \"serverless \\u66F4\\u591A\\u662F\\u5728\\u8BF4\\u600E\\u4E48\\u80FD\\u4E0D\\u7528\\u7BA1\\u5E95\\u5C42\\u5B9E\\u73B0\\uFF0C\\u6309\\u7167\\u89C4\\u5219\\u65E0\\u8111\\u5199\\u4E1A\\u52A1\\u5C31\\u884C\\u7684\\u5F00\\u53D1\\u4F53\\u9A8C\\uFF0C\\u5199\\u4EE3\\u7801\\u5230 FaaS \\u90E8\\u5206\\u63D0\\u4F9B\\u8BA1\\u7B97\\u548C\\u670D\\u52A1\\uFF0C\\u8C03\\u7528 BaaS \\u90E8\\u5206\\u7684\\u540E\\u7AEF\\u5B58\\u50A8\\u3002\\u6240\\u4EE5\\u5E76\\u4E0D\\u4F1A\\u6539\\u53D8\\u5BA2\\u6237\\u7AEF\\u8303\\u56F4\\u5199\\u4EE3\\u7801\\u7684\\u59FF\\u52BF\\uFF0C\\u8FD8\\u662F\\u8981\\u62FC\\u7EC4\\u4EF6\\u3001\\u8C03\\u63A5\\u53E3\\u3001\\u5199\\u4E1A\\u52A1\\u3002\"), mdx(\"p\", null, \"\\u4F46\\u662F serverless \\u964D\\u4F4E\\u4E86\\u540E\\u7AEF\\u67B6\\u6784\\u7684\\u6210\\u672C\\u548C\\u95E8\\u69DB\\uFF0C\\u90A3\\u4E9B\\u5F88\\u91CD\\u91CF\\u7684\\u5206\\u5E03\\u5F0F\\u3001\\u5FAE\\u670D\\u52A1\\u3001\\u5BB9\\u5668\\u5316\\u7B49\\u67B6\\u6784\\u548C\\u73A9\\u6CD5\\uFF0C\\u5728\\u65E0\\u72B6\\u6001\\u7684\\u89C4\\u5219\\u4E0B\\u5F88\\u81EA\\u7136\\u7684\\u62BD\\u8C61\\u5230\\u4E86\\u5E95\\u5C42\\uFF0C\\u80FD\\u591F\\u66F4\\u7EC6\\u7C92\\u5EA6\\u7684\\u5B9E\\u73B0\\u67B6\\u6784\\u4E0E\\u7EF4\\u62A4\\u7684\\u6807\\u51C6\\u5316\\uFF0C\\u80FD\\u591F\\u8BA9\\u524D\\u7AEF\\u7684\\u5F00\\u53D1\\u6709\\u80FD\\u529B\\u5C1D\\u8BD5\\u63D0\\u4F9B\\u53EF\\u63A7\\u7684\\u670D\\u52A1\\u80FD\\u529B\\u3002\"), mdx(\"p\", null, \"\\u6BD4\\u5982\\u4E4B\\u524D\\u524D\\u7AEF\\u5982\\u679C\\u60F3\\u8981\\u642D\\u5EFA\\u9762\\u5411\\u524D\\u7AEF\\u7684\\u8F7B\\u91CF\\u4E2D\\u53F0 BFF \\u4E1A\\u52A1\\uFF0C\\u6BD4\\u5982\\u63A5\\u53E3\\u805A\\u5408\\u3001\\u670D\\u52A1\\u5668\\u6E32\\u67D3\\u7B49\\uFF0C\\u4F46\\u662F\\u8D1F\\u8F7D\\u3001\\u6269\\u5BB9\\u3001\\u7EF4\\u62A4\\u7B49\\u6CA1\\u6709\\u540E\\u53F0\\u7684\\u652F\\u6491\\u5F88\\u96BE\\u642D\\u5EFA\\u7684\\u8D77\\u6765\\uFF0C\\u4E5F\\u5C31\\u4E0D\\u4E86\\u4E86\\u4E4B\\u4E86\\u3002\\u73B0\\u5728 Faas \\u53EF\\u4EE5\\u6839\\u636E\\u9700\\u8981\\u81EA\\u52A8\\u6C34\\u5E73\\u6269\\u5C55\\uFF0C\\u540E\\u7AEF\\u7684\\u6570\\u636E\\u5E93\\u3001\\u6587\\u4EF6\\u670D\\u52A1\\u3001\\u6D88\\u606F\\u63A8\\u9001\\u3001\\u65E5\\u5FD7\\u7B49\\u4EE5\\u524D\\u9700\\u8981\\u7CBE\\u5FC3\\u8BBE\\u8BA1\\u4E92\\u76F8\\u8FDE\\u63A5\\uFF0C\\u73B0\\u5728\\u53EF\\u4EE5\\u88AB Baas \\u76F4\\u63A5\\u63A5\\u7BA1\\u3002\\u6574\\u4E2A\\u540E\\u7AEF\\u7684\\u652F\\u6301\\u90E8\\u5206\\u6210\\u672C\\u964D\\u4F4E\\uFF0C\\u53EA\\u9700\\u8981\\u53D6\\u6570\\u636E\\u3001\\u8BA1\\u7B97\\u3001\\u8FD4\\u56DE\\uFF0C\\u6216\\u8005\\u63A5\\u53D7\\u6570\\u636E\\u3001\\u8BA1\\u7B97\\u3001\\u5B58\\u8FDB\\u53BB\\uFF0C\\u8FD9\\u4E9B\\u524D\\u7AEF\\u4E5F\\u80FD\\u591F\\u73A9\\u5F97\\u8F6C\\u4E86\\u3002\"), mdx(\"p\", null, \"\\u548C serverless \\u4E00\\u5B9A\\u7A0B\\u5EA6\\u6BD4\\u8F83\\u50CF\\u7684\\u662F CDN\\uFF0C\\u5BF9\\u4E8E\\u4E0A\\u5C42\\u6765\\u8BF4\\u6CA1\\u6709\\u670D\\u52A1\\u5668\\u7684\\u6982\\u5FF5\\uFF0C\\u53EF\\u4EE5\\u6C34\\u5E73\\u6269\\u5C55\\u3002 serverless \\u5C31\\u76F8\\u5F53\\u4E8E\\u628A\\u8BA1\\u7B97\\u548C\\u670D\\u52A1\\u63A8\\u9001\\u5230\\u4E91\\u51FD\\u6570\\uFF0C\\u600E\\u4E48\\u5206\\u53D1\\u3001\\u600E\\u4E48\\u63D0\\u4F9B\\u670D\\u52A1\\u90FD\\u4E0D\\u7528\\u7BA1\\u3002\"), mdx(\"p\", null, \"\\u4E0E\\u524D\\u7AEF\\u8054\\u7CFB\\u6BD4\\u8F83\\u7D27\\u5BC6\\u7684\\u4E1A\\u52A1\\u4E0A\\u9664\\u4E86\\u63A5\\u53E3\\u805A\\u5408\\uFF08BFF\\uFF09\\u3001\\u670D\\u52A1\\u5668\\u6E32\\u67D3\\uFF08SSR\\uFF09\\uFF0C\\u5C0F\\u7A0B\\u5E8F\\u7684\\u4E91\\u51FD\\u6570\\u662F\\u4E00\\u4E2A\\u7ED3\\u5408\\u6BD4\\u8F83\\u597D\\u7684\\u65B9\\u6848\\uFF0CWebIDE \\u5404\\u4E2A\\u5927\\u5382\\u4E5F\\u5728\\u6295\\u5165\\u7CBE\\u529B\\u4E0E Serverless \\u7ED3\\u5408\\u5B9E\\u73B0\\u8F7B\\u91CF\\u7EA7\\u5F00\\u53D1\\u7684\\u4F53\\u9A8C\\u3002\"), mdx(\"h3\", null, \"3. \\u4ECE\\u6574\\u4F53\\u6280\\u672F\\u67B6\\u6784\\u7684\\u89D2\\u5EA6\\u6765\\u8BF4\\uFF1A\"), mdx(\"p\", null, \"\\u629B\\u5F00\\u524D\\u7AEF\\u7684\\u89C6\\u89D2\\u8003\\u8651\\uFF0C\\u4E4B\\u524D\\u6210\\u672C\\u5F88\\u9AD8\\u7684\\u540E\\u7AEF\\uFF0C\\u9700\\u8981\\u8003\\u8651\\u4E1A\\u52A1\\u6269\\u5F20\\u3001\\u6280\\u672F\\u6808\\u9009\\u7528\\u3001\\u6570\\u636E\\u67B6\\u6784\\u7B49\\uFF0C\\u5206\\u5E03\\u5F0F\\u3001\\u5FAE\\u670D\\u52A1\\u3001\\u5BB9\\u5668\\u5316\\u3001\\u96C6\\u7FA4\\u7B49\\u540D\\u6B21\\u76F8\\u4FE1\\u8BA9\\u5F88\\u591A\\u4EBA\\u5934\\u75BC\\uFF0C\\u53EF\\u80FD\\u56E2\\u961F\\u592A\\u5C0F\\u3001\\u6210\\u672C\\u592A\\u9AD8\\u3001\\u5B89\\u5168\\u6027\\u3001\\u7EF4\\u62A4\\u6210\\u672C\\u3001\\u8FC1\\u79FB\\u6210\\u672C\\u7B49\\u56E0\\u7D20\\uFF0C\\u5BFC\\u81F4\\u9884\\u60F3\\u592A\\u8FDC\\u62D6\\u7D2F\\u4E1A\\u52A1\\uFF0C\\u6216\\u8005\\u540E\\u671F\\u6D41\\u91CF\\u4E0A\\u6765\\u9047\\u5230\\u74F6\\u9888\\u3002\"), mdx(\"p\", null, \"Iaas\\u3001Paas\\u3001Baas \\u7684\\u4ECB\\u5165\\u7F13\\u89E3\\u4E86\\u4E00\\u90E8\\u5206\\u7684\\u5DE5\\u4F5C\\u91CF\\uFF0C\\u4F46\\u662F\\u5B9E\\u9645\\u4E1A\\u52A1\\u7684\\u642D\\u5EFA\\u4F9D\\u7136\\u9700\\u8981\\u624B\\u5DE5\\u5B9A\\u5236\\uFF0C\\u6BD5\\u7ADF\\u600E\\u4E48\\u505A\\u5FAE\\u670D\\u52A1\\u3001\\u600E\\u4E48\\u5B9E\\u73B0\\u8DEF\\u7531\\u7F51\\u5173\\u3001\\u600E\\u4E48\\u5212\\u5206\\u96C6\\u7FA4\\u3001\\u7F16\\u6392\\u5BB9\\u5668\\u7B49\\u5DE5\\u4F5C\\u6BCF\\u4E2A\\u516C\\u53F8\\u90FD\\u4E0D\\u76F8\\u540C\\uFF0C\\u4F46\\u662F\\u76EE\\u524D serverless \\u7684\\u51FA\\u73B0\\u8BA9\\u8FD9\\u90E8\\u5206\\u6807\\u51C6\\u5316\\u4E86\\u5F88\\u591A\\uFF0C\\u66F4\\u7EC6\\u7C92\\u5EA6\\u7684\\u5207\\u5206\\u4E1A\\u52A1\\uFF0C\\u7136\\u540E\\u628A\\u90E8\\u7F72\\u548C\\u8FD0\\u884C\\u7684\\u5DE5\\u4F5C\\u7529\\u4E86\\u51FA\\u53BB\\uFF0C\\u53EA\\u8981\\u4E1A\\u52A1\\u65E0\\u72B6\\u6001\\u5206\\u79BB\\uFF0C\\u6C34\\u5E73\\u6269\\u5C55\\u5C31\\u5F88\\u5BB9\\u6613\\u88AB\\u63A5\\u7BA1\\u4E86\\u3002\"), mdx(\"p\", null, \"\\u5F53\\u7136 serverless \\u63D0\\u4F9B\\u7684\\u601D\\u60F3\\u4E0D\\u4E00\\u5B9A\\u975E\\u8981\\u5B9E\\u73B0\\u5168\\u94FE\\u8DEF\\u7684\\u53BB\\u670D\\u52A1\\u5668\\uFF0C\\u6BD4\\u5982\\u4E2D\\u95F4\\u5C42\\u505A\\u6210\\u65E0\\u72B6\\u6001\\u7684\\u8BDD\\u5C31\\u80FD\\u591F\\u5F88\\u5BB9\\u6613 scale out\\uFF0C\\u5212\\u51FA\\u96C6\\u7FA4\\u6765\\u627F\\u8F7D\\u7C7B\\u4F3C\\u7684\\u53BB\\u670D\\u52A1\\u5668\\u5728\\u4E00\\u4E9B\\u516C\\u53F8\\u4E5F\\u662F\\u53EF\\u4EE5\\u5C1D\\u8BD5\\u63A2\\u7D22\\u7684\\u3002\"), mdx(\"h3\", null, \"4. serverless \\u7684\\u76EE\\u6807\"), mdx(\"p\", null, \"serverless \\u6539\\u53D8\\u4E86\\u4F20\\u7EDF\\u7684\\u4E1A\\u52A1\\u90E8\\u7F72\\u8FD0\\u884C\\u6A21\\u5F0F\\uFF0C\\u53EF\\u4EE5\\u8BA9\\u4F60\\u4E0D\\u9700\\u8981\\u79DF\\u670D\\u52A1\\u5668\\uFF0C\\u4E0D\\u9700\\u8981\\u62FF IP \\u5730\\u5740\\uFF0C\\u4E0D\\u9700\\u8981\\u8003\\u8651\\u6269\\u5BB9\\u3001\\u4E0D\\u9700\\u8981\\u8003\\u8651\\u670D\\u52A1\\u5668\\u5728\\u54EA\\u3002\\u4F60\\u53EA\\u9700\\u8981\\u77E5\\u9053\\u628A\\u4EE3\\u7801\\u4EA4\\u7ED9 serverless\\uFF0C\\u5C31\\u80FD\\u8BBF\\u95EE\\u5F97\\u5230\\uFF0C\\u8FD0\\u884C\\u5F97\\u4E86\\uFF0C\\u6700\\u540E\\u6309\\u9700\\u6536\\u5230\\u8D26\\u5355\\u3002\"), mdx(\"h3\", null, \"5. serverless \\u7684\\u5C40\\u9650\"), mdx(\"p\", null, \"\\u5982\\u679C\\u5BF9\\u4EE5\\u524D \\u201C\\u4E91\\u4E3B\\u673A\\u201D \\u8FD9\\u4E2A\\u6982\\u5FF5\\u6BD4\\u8F83\\u719F\\u6089\\u7684\\u8BDD\\uFF0C\\u53EF\\u80FD\\u6709\\u70B9\\u4F3C\\u66FE\\u76F8\\u8BC6\\uFF0C\\u5F53\\u65F6\\u4E5F\\u662F\\u5C06\\u4EE3\\u7801\\u4F20\\u5230\\u522B\\u4EBA\\u5BB6\\u7684\\u670D\\u52A1\\u5668\\u4E0A\\uFF0C\\u914D\\u7F6E\\u865A\\u62DF\\u57DF\\u540D\\u5C31\\u80FD\\u591F\\u8BBF\\u95EE\\u4E86\\uFF0Cphp + mysql \\u7684\\u67B6\\u6784\\uFF0C\\u5176\\u4E2D\\u5171\\u4EAB\\u8D44\\u6E90\\u662F\\u6700\\u5927\\u7684\\u5B89\\u5168\\u95EE\\u9898\\u3002\"), mdx(\"p\", null, \"serverless \\u8FD9\\u65B9\\u9762\\u4E5F\\u6709\\u4E00\\u5B9A\\u7684\\u9690\\u60A3\\uFF0C\\u56E0\\u4E3A\\u6BD5\\u7ADF\\u5C31\\u7B97\\u6709\\u5B89\\u5168\\u6C99\\u7BB1\\u4E5F\\u662F\\u5728\\u5185\\u6838\\u5B89\\u5168\\u7684\\u57FA\\u7840\\u4E0A\\uFF0C\\u73B0\\u5728\\u5185\\u6838\\u5B89\\u5168\\u90FD\\u6CA1\\u529E\\u6CD5\\u4FDD\\u8BC1\\u7684\\u60C5\\u51B5\\u4E0B\\uFF0C\\u5BBF\\u4E3B\\u673A\\u4E0A\\u7684\\u5BB9\\u5668\\u5C31\\u5F88\\u6709\\u53EF\\u80FD\\u88AB\\u6076\\u610F\\u5F71\\u54CD\\uFF0C\\u8F7B\\u5219\\u8BA1\\u7B97\\u80FD\\u529B\\u88AB\\u5360\\u7528\\uFF0C\\u91CD\\u5219\\u4E1A\\u52A1\\u6570\\u636E\\u6CC4\\u9732\\u3002\"), mdx(\"h2\", null, \"\\u4E09\\u3001\\u4E00\\u4E9B\\u5B9E\\u4F8B\"), mdx(\"h3\", null, \"1. \\u524D\\u7AEF\\u7684 SSR\"), mdx(\"p\", null, \"React\\u3001Vue \\u5355\\u9875\\u5E94\\u7528\\u6108\\u53D1\\u706B\\u70ED\\uFF0C\\u539F\\u7406\\u4E0A\\u65E0\\u6CD5\\u907F\\u514D\\u7684\\u767D\\u5C4F\\u5374\\u5F88\\u5F71\\u54CD\\u7528\\u6237\\u4F53\\u9A8C\\uFF0C\\u524D\\u7AEF\\u4E8E\\u662F\\u5B9E\\u73B0 SSR \\u670D\\u52A1\\u7AEF\\u6E32\\u67D3\\u76F4\\u51FA\\u65B9\\u6848\\u6765\\u6539\\u8FDB\\u8FD9\\u5757\\u7684\\u8868\\u73B0\\uFF0C\\u521D\\u5FC3\\u5F88\\u7F8E\\u597D\\uFF0C\\u4F46\\u662F\\u9700\\u8981\\u670D\\u52A1\\u5668\\u8D44\\u6E90\\u8FD0\\u884C\\uFF0C\\u8FD9\\u5BF9\\u4E8E\\u524D\\u7AEF\\u5C31\\u6709\\u70B9\\u56F0\\u96BE\\u4E86\\uFF0C\\u56E0\\u4E3A\\u4E0D\\u592A\\u80FD\\u641E\\u5F97\\u5B9A\\u6BD4\\u5982\\u591A\\u5C11\\u53F0\\u673A\\u5668\\u3001\\u600E\\u4E48\\u90E8\\u7F72\\u3001\\u4E1A\\u52A1\\u91CF\\u3001\\u9AD8\\u5E76\\u53D1\\u3001\\u6269\\u5BB9\\u3001\\u914D\\u7F6E\\u8DEF\\u7531\\u8FD9\\u4E9B\\u95EE\\u9898\\uFF0C\\u6700\\u597D\\u6709\\u529E\\u6CD5\\u80FD\\u8BA9\\u524D\\u7AEF\\u4E0D\\u7528\\u7BA1\\u8FD9\\u4E9B\\uFF0C\\u4F20\\u7EDF\\u7684\\u9009\\u62E9\\u53EF\\u80FD\\u9700\\u8981\\u5BB9\\u5668\\u96C6\\u7FA4\\uFF0C\\u4F46\\u662F\\u73B0\\u5728 serverless \\u7684\\u6210\\u672C\\u66F4\\u4F4E\\uFF0C\\u4E00\\u4E2A\\u51FD\\u6570\\u5373\\u53EF\\u3002\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u901A\\u8FC7 http \\u8BF7\\u6C42\\u89E6\\u53D1\\uFF08\\u6D89\\u53CA\\u5230\\u7684\\u4E91\\u7F51\\u5173\\u3001\\u8DEF\\u7531\\u3001\\u8D1F\\u8F7D\\u5747\\u8861\\u7B49\\u4E0D\\u7528\\u7BA1\\uFF09\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u6267\\u884C\\u5230\\u4E91\\u51FD\\u6570\\uFF08\\u62C9\\u8D77\\u8FD0\\u884C\\u5BB9\\u5668\\uFF0C\\u9AD8\\u5E76\\u53D1\\u91CF\\u4E0B\\u80FD\\u81EA\\u52A8\\u6269\\u5BB9\\u542F\\u52A8\\u66F4\\u591A\\u5BB9\\u5668\\u670D\\u52A1\\uFF09\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u8C03\\u7528\\u526F\\u4F5C\\u7528\\uFF08\\u65E0\\u72B6\\u6001\\u7684\\u8BF7\\u6C42\\u8FC7\\u6765\\uFF0C\\u901A\\u8FC7\\u526F\\u4F5C\\u7528\\u8C03\\u7528\\u7528\\u6237\\u6570\\u636E\\u3001\\u65E5\\u5FD7\\u76D1\\u63A7\\u3001\\u6587\\u4EF6\\u5B58\\u50A8\\u7B49\\uFF0C\\u6BD4\\u5982\\u62FF\\u5230\\u7528\\u6237\\u6570\\u636E\\uFF09\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u4E91\\u51FD\\u6570\\u83B7\\u53D6\\u53C2\\u6570\\u3001\\u8BA1\\u7B97\\uFF08\\u8FD9\\u90E8\\u5206\\u662F\\u5177\\u4F53\\u7684\\u4E1A\\u52A1\\u90E8\\u5206\\uFF0C\\u6BD4\\u5982 node \\u73AF\\u5883\\u4F7F\\u7528 \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"ReactDomServer.renderToString\"), \" \\u8F93\\u51FA\\u5185\\u5BB9\\uFF09\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u8FD4\\u56DE\\uFF08\\u8FD4\\u56DE\\u5230 http \\u7684 response\\uFF09\")), mdx(\"p\", null, \"\\u8FD9\\u6837\\u4E00\\u4E2A\\u8F7B\\u91CF\\u7EA7\\u5F00\\u53D1\\uFF0C\\u4F46\\u662F\\u6709\\u5F88\\u5927\\u4E1A\\u52A1\\u5F39\\u6027\\u7684\\u4E1A\\u52A1\\u5C31\\u5B8C\\u6210\\u4E86\\u3002\"), mdx(\"h3\", null, \"2. \\u4F20\\u7EDF\\u7684\\u4E1A\\u52A1\"), mdx(\"p\", null, \"\\u6BD4\\u5982\\u4E00\\u4E2A\\u5B8C\\u6574\\u8BBA\\u575B\\u7684\\u5F00\\u53D1\\uFF0C\\u9700\\u8981\\u5F88\\u591A\\u7684\\u63A5\\u53E3\\u548C\\u9875\\u9762\\u3002\\u4F20\\u7EDF\\u5F00\\u53D1\\u5C31\\u9700\\u8981\\u63A5\\u53E3\\u670D\\u52A1\\u5668\\u3001\\u6570\\u636E\\u5E93\\u670D\\u52A1\\u5668\\u3001\\u6587\\u4EF6\\u670D\\u52A1\\u5668\\uFF0C\\u8D1F\\u8F7D\\u5747\\u8861\\u3001\\u96C6\\u7FA4\\u7BA1\\u7406\\u3001\\u5185\\u90E8\\u7684\\u6D88\\u606F\\u670D\\u52A1\\u7B49\\uFF0C\\u9700\\u8981\\u5199\\u5F88\\u591A\\u7684\\u8F85\\u52A9\\u548C\\u652F\\u6301\\u4EE3\\u7801\\u624D\\u80FD\\u8BA9\\u8FD9\\u4E9B\\u8FD0\\u884C\\u8D77\\u6765\\uFF0C\\u7EF4\\u62A4\\u90E8\\u5206\\u5C31\\u66F4\\u4E0D\\u7528\\u8BF4\\u3002\\u597D\\u5728\\u5176\\u4E2D\\u7684\\u903B\\u8F91\\u90FD\\u662F\\u81EA\\u5DF1\\u7684\\uFF0C\\u5C31\\u7B97\\u8FC1\\u79FB\\u5230\\u4E91\\u670D\\u52A1\\u5668\\uFF0C\\u4E5F\\u4E00\\u6837\\u7684\\u80FD\\u8FC1\\u79FB\\u4E0B\\u6765\\uFF0C\\u53EA\\u662F\\u90E8\\u7F72\\u5728\\u54EA\\u7684\\u95EE\\u9898\\u3002\"), mdx(\"p\", null, \"\\u73B0\\u5728 Serverless \\u65F6\\u4EE3\\u5462\\uFF1F\\u53EA\\u9700\\u8981\\u5173\\u5FC3\\u4E09\\u4E2A\\u903B\\u8F91\\uFF1A\\u4E91\\u51FD\\u6570\\u7684\\u670D\\u52A1\\u548C\\u8BA1\\u7B97 + \\u5BF9\\u8C61\\u5B58\\u50A8\\u7684\\u6587\\u4EF6 + \\u6570\\u636E\\u5E93\\u7684\\u8BB0\\u5F55\\uFF0C\\u975E\\u5E38\\u7701\\u5FC3\\uFF0C\\u800C\\u4E14\\u6C34\\u5E73\\u6269\\u5C55\\u90FD\\u662F\\u6CA1\\u95EE\\u9898\\u3002\\u65B9\\u6848\\u5462\\u53EF\\u9009\\uFF1A\\u963F\\u91CC\\u7684 Function Compute + OSS + TableStore \\u6216\\u8005 \\u817E\\u8BAF\\u7684 SCF + COS + CynosDB \\u90FD\\u80FD\\u5B9E\\u73B0\\u6211\\u4EEC\\u7684\\u9700\\u6C42\\u3002\"), mdx(\"p\", null, \"AWS \\u63A2\\u7D22\\u7684\\u6BD4\\u8F83\\u65E9\\uFF1AAPI Gateway + Lambda + DynamoDB + S3 + SNS + DynamoDB Streams + SES + Cognito \\u4E00\\u6574\\u5957\\u3002\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u9759\\u6001\\u9875\\u9762\\u90E8\\u5206\\u53EF\\u4EE5\\u6258\\u7BA1\\u5230\\u5BF9\\u8C61\\u5B58\\u50A8\\u4E2D\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u52A8\\u6001\\u9875\\u9762\\u53EF\\u4EE5\\u4F7F\\u7528 serverless \\u4E91\\u51FD\\u6570\\u62FF\\u5230\\u8BF7\\u6C42\\uFF0C\\u6839\\u636E\\u9700\\u8981\\u8FD4\\u56DE html \\u9875\\u9762\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"API \\u63A5\\u53E3\\u90E8\\u5206\\u53EF\\u4EE5\\u4F7F\\u7528 serverless \\u4E91\\u51FD\\u6570\\uFF0C\\u8BFB\\u53D6 BaaS \\u7684\\u6570\\u636E\\u5E93\\uFF0C\\u7136\\u540E\\u8BA1\\u7B97\\u6216\\u7EC4\\u5408\\u6570\\u636E\\uFF0C\\u8FD4\\u56DE json \\u54CD\\u5E94\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u5934\\u50CF\\u3001\\u4E0A\\u4F20\\u6587\\u4EF6\\u7B49\\u53EF\\u4EE5\\u4F7F\\u7528 serverless \\u4E91\\u51FD\\u6570\\uFF0C\\u8C03\\u7528 \\u5BF9\\u8C61\\u5B58\\u50A8\\u7684\\u63A5\\u53E3\\u5B58\\u53D6\")), mdx(\"p\", null, \"\\u8FD9\\u4E5F\\u7B97\\u662F\\u4E00\\u76F4\\u8FFD\\u6C42\\u4ECE\\u4EE3\\u7801\\u5230\\u670D\\u52A1\\u7684\\u6700\\u77ED\\u8DEF\\u5F84\\u3002\"), mdx(\"h2\", null, \"\\u56DB\\u3001\\u6211\\u7684\\u4F7F\\u7528\"), mdx(\"p\", null, \"Serverless \\u4EE5\\u65E0\\u670D\\u52A1\\u5668\\u8FD0\\u884C\\u7684\\u6982\\u5FF5\\u6765\\u8BF4\\uFF0C\\u6211\\u4E2A\\u4EBA\\u7528\\u4E86\\u4E00\\u4E9B\\u573A\\u666F\\uFF0C\\u535A\\u5BA2\\uFF08\\u6784\\u5EFA\\u3001\\u90E8\\u7F72\\u3001\\u5BF9\\u8C61\\u5B58\\u50A8\\u7B49\\uFF09\\u548C\\u4E2A\\u4EBA\\u5DE5\\u4F5C\\u6D41\\u670D\\u52A1\\uFF08\\u6570\\u636E\\u5B58\\u50A8\\u3001API \\u7B49\\uFF0C\\u7528\\u6765\\u505A\\u4EFB\\u52A1\\u6E05\\u5355\\u3001\\u9605\\u8BFB\\u8FFD\\u8E2A\\u3001\\u7B14\\u8BB0\\u7B49\\uFF09\\uFF0C\\u56E0\\u4E3A\\u6210\\u672C\\u7684\\u95EE\\u9898\\uFF0C\\u7528\\u5230\\u4E86\\u5F88\\u591A\\u514D\\u8D39\\u7684\\u670D\\u52A1\\u642D\\u5EFA\\u3002\"), mdx(\"p\", null, \"\\u4E0B\\u9762\\u662F\\u6D89\\u53CA\\u7684\\u4E00\\u4E9B Faas \\u6216\\u8005 Baas \\u670D\\u52A1\\uFF1A\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u817E\\u8BAF\\u4E91 COS \\u5BF9\\u8C61\\u5B58\\u50A8\\u53EF\\u4EE5\\u63D0\\u4F9B\\u9759\\u6001\\u7F51\\u7AD9\\u7684\\u6258\\u7BA1\\uFF0C\\u5305\\u542B\\u6709\\u3001index \\u7D22\\u5F15\\u3001404 \\u5B9A\\u5411\\u3001CDN \\u7684\\u529F\\u80FD\\uFF0C\\u7B97\\u662F\\u4E00\\u79CD Serverless \\u7684\\u5F62\\u5F0F\\u3002\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u817E\\u8BAF\\u4E91\\u51FD\\u6570 SCF \\u5199\\u4E86\\u4E00\\u4E2A\\u89E3\\u538B\\u670D\\u52A1\\uFF0C\\u4E0A\\u4F20\\u5230 COS \\u7684\\u67D0\\u4E2A\\u76EE\\u5F55\\uFF0C\\u80FD\\u591F\\u81EA\\u52A8\\u8FD0\\u884C\\u89E3\\u538B\\u5230 COS \\u4E2D\\u5C55\\u5F00\\uFF0C\\u5B9E\\u73B0\\u9759\\u6001\\u7F51\\u7AD9\\u7684\\u81EA\\u52A8\\u90E8\\u7F72\\uFF0C\\u662F FaaS\\u3002\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u817E\\u8BAF\\u4E91\\u51FD\\u6570 SCF \\u5199\\u4E86\\u4E00\\u4E2A JSON \\u5B58\\u50A8\\u529F\\u80FD\\uFF0C\\u63D0\\u4F9B\\u6570\\u636E\\u7684\\u89E3\\u6790\\u3001\\u5B58\\u50A8\\u548C\\u670D\\u52A1\\u3002\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"LeanCloud \\u7684\\u4E91\\u5F15\\u64CE\\uFF0C\\u4E91\\u51FD\\u6570\\u7684\\u6982\\u5FF5\\uFF0C\\u63D0\\u4F9B\\u4E86\\u4E00\\u4E2A\\u81EA\\u52A8\\u56DE\\u590D\\u7684\\u670D\\u52A1\\uFF0C\\u901A\\u8FC7 API \\u8C03\\u7528\\uFF0C\\u5728 FaaS \\u5199\\u4E86\\u4E00\\u4E9B\\u4EE3\\u7801\\uFF0C\\u7136\\u540E\\u8BFB\\u53D6 BaaS \\u7684\\u5B58\\u50A8\\u670D\\u52A1\\uFF0C\\u6700\\u540E\\u54CD\\u5E94\\u4E00\\u4E9B\\u6570\\u636E\\u3002\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"LeanCloud \\u7684\\u6570\\u636E\\u5B58\\u50A8\\u3001\\u5373\\u65F6\\u901A\\u4FE1\\u3001\\u77ED\\u4FE1\\u3001\\u6D88\\u606F\\u63A8\\u9001\\u3001\\u793E\\u4EA4\\u540E\\u53F0\\u7B49\\uFF0C\\u817E\\u8BAF\\u4E91 COS\\u3001\\u4E03\\u725B\\u4E91\\u5B58\\u50A8\\u7B49\\uFF0C\\u901A\\u8FC7 REST API \\u80FD\\u591F\\u8BBF\\u95EE\\uFF0C\\u8FD9\\u4E9B\\u90FD\\u662F\\u6807\\u51C6 BaaS \\u7684\\u8303\\u7574\\u3002\")), mdx(\"p\", null, \"\\u7ECF\\u5178\\u7684\\u5168\\u6D41\\u7A0B\\u3001\\u53D1\\u6325\\u5168\\u90E8\\u5A01\\u529B\\u7684 Serverless \\u63D0\\u4F9B\\u670D\\u52A1\\u8FD8\\u6CA1\\u6709\\u4F7F\\u7528\\uFF0C\\u6BD4\\u5982\\u540E\\u7AEF API\\u3001\\u7F51\\u7AD9\\u8F93\\u51FA\\u3001\\u6784\\u5EFA\\u3001SSR \\u7B49\\u573A\\u666F\\u6CA1\\u6709\\u5C1D\\u8BD5\\uFF0C\\u4E0D\\u8FC7\\u611F\\u89C9\\u5E94\\u8BE5\\u4F1A\\u633A\\u6709\\u610F\\u601D\\u3002\"), mdx(\"h2\", null, \"\\u4E94\\u3001\\u73B0\\u4EE3\\u4E91\\u8BA1\\u7B97\"), mdx(\"p\", null, \"\\u5BB9\\u5668\\uFF08Docker\\uFF09\\u3001\\u670D\\u52A1\\u7F16\\u6392\\uFF08Kubernetes\\uFF09\\u7B49\\u80FD\\u529B\\u5C06\\u4E91\\u8BA1\\u7B97\\u7684\\u53D1\\u5C55\\u5F00\\u4E0A\\u4E86\\u5FEB\\u8F66\\u9053\\u3002\\u5404\\u79CD\\u5206\\u5E03\\u5F0F\\u5E94\\u7528\\u3001\\u5927\\u89C4\\u6A21\\u8BA1\\u7B97\\u5E73\\u53F0\\u7B49\\u73B0\\u4EE3\\u67B6\\u6784\\u7684\\u53D1\\u5C55\\u4E5F\\u91CA\\u653E\\u4E86\\u4E91\\u8BA1\\u7B97\\u7684\\u60F3\\u8C61\\u529B\\u3002\\u65E0\\u670D\\u52A1\\u5668\\uFF08Serverless\\uFF09\\u3001\\u5FAE\\u670D\\u52A1\\uFF08Micro-Service\\uFF09\\u3001\\u4E91\\u539F\\u751F\\uFF08Cloud Native\\uFF09\\u3001\\u670D\\u52A1\\u5316\\u7F51\\u683C\\uFF08Service Mesh\\uFF09\\u7B49\\u90FD\\u662F\\u73B0\\u5728\\u5F88\\u65B0\\u6F6E\\u7684\\u6280\\u672F\\u5173\\u952E\\u8BCD\\uFF0C\\u8D8A\\u6765\\u8D8A\\u7EC6\\u7C92\\u5EA6\\u7684\\u6807\\u51C6\\uFF0C\\u8BA9\\u8FD0\\u7EF4\\u6210\\u672C\\u3001\\u5F00\\u53D1\\u6210\\u672C\\u8D8A\\u6765\\u8D8A\\u4F4E\\uFF0C\\u5F53\\u7136\\u8FD9\\u4E5F\\u662F\\u4E91\\u670D\\u52A1\\u5546\\u4E0D\\u65AD\\u63A8\\u8FDB\\u7684\\u8FDB\\u6B65\\u3002\"), mdx(\"p\", null, \"\\u4ECE \\u2018\\u4E91\\u2019 \\u8FD9\\u4E2A\\u6982\\u5FF5\\u51FA\\u73B0\\u4EE5\\u6765\\uFF0C\\u4E00\\u76F4\\u5728\\u6F14\\u8FDB\\u5206\\u5316\\uFF0C\\u73B0\\u4EE3\\u7684\\u4E91\\u5305\\u62EC\\u4ECE\\u5355\\u673A\\u4E91\\u670D\\u52A1\\u5668\\uFF0C\\u5230\\u5927\\u578B\\u5206\\u5E03\\u5F0F\\u96C6\\u7FA4\\uFF0C\\u518D\\u5230\\u4E91\\u539F\\u751F\\u3001\\u670D\\u52A1\\u5316\\u7F51\\u683C\\u7B49\\uFF0C\\u4E91\\u8FD9\\u4E2A\\u5B57\\u5DF2\\u7ECF\\u8D70\\u4E86\\u5F88\\u8FDC\\uFF0C\\u6211\\u4EEC\\u7A0B\\u5E8F\\u5458\\u4E5F\\u5728\\u4E0D\\u65AD\\u5730\\u9002\\u5E94\\u8FD9\\u4E2A\\u65F6\\u4EE3\\uFF0C\\u6570\\u5B57\\u5316\\u7684\\u65F6\\u4EE3\\u3001\\u4FE1\\u606F\\u7206\\u70B8\\u7684\\u65F6\\u4EE3\\u3001\\u6280\\u672F\\u98DE\\u901F\\u53D1\\u5C55\\u7684\\u65F6\\u4EE3\\u3001\\u5B9E\\u73B0\\u81EA\\u5DF1\\u4EF7\\u503C\\u7684\\u65F6\\u4EE3\\u3002\"), mdx(\"p\", null, \"\\u4FDD\\u6301\\u773C\\u754C\\u5F00\\u9614\\uFF0C\\u601D\\u8003\\u80FD\\u529B\\u7684\\u4EF7\\u503C\\uFF0C\\u62E5\\u62B1\\u53D8\\u5316~~~\"));\n}\n;\nMDXContent.isMDXComponent = true;"}},"pageContext":{"isCreatedByStatefulCreatePages":false,"id":"5145372e-fd2a-5b70-aa1a-fa32efbc2637","prev":{"fileAbsolutePath":"D:/ubug/storybook/content/blog/ci-cd.md","id":"e2a8341f-425c-576f-bb41-0e8383ee1cc9","parent":{"name":"ci-cd","sourceInstanceName":"blog"},"excerpt":"…","fields":{"title":"🙅‍ 持续集成和部署(CI 和 CD)","slug":"/blog/ci-cd","description":"持续集成是现代团队协作的基础建设了，一个成熟的团队肯定会搭建自己的整个持续集成和持续部署流程。","date":"2020-05-18","redirects":null,"datetime":"2020-05-18 13:54:13","categories":["code"],"series":null,"tags":["持续集成","持续部署","前端"],"status":"online"},"frontmatter":{"published":null,"tags":["持续集成","持续部署","前端"],"theme":null,"slug":"ci-cd","date":"2020-05-18 13:54:13"},"body":"const _excluded = [\"components\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }\n/* @jsx mdx */\n\nconst _frontmatter = {\n  \"slug\": \"ci-cd\",\n  \"title\": \"🙅‍ 持续集成和部署(CI 和 CD)\",\n  \"date\": \"2020-05-18 13:54:13\",\n  \"author\": \"Ubug\",\n  \"description\": \"持续集成是现代团队协作的基础建设了，一个成熟的团队肯定会搭建自己的整个持续集成和持续部署流程。\",\n  \"categories\": [\"code\"],\n  \"tags\": [\"持续集成\", \"持续部署\", \"前端\"]\n};\nconst makeShortcode = name => function MDXDefaultShortcode(props) {\n  console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n  return mdx(\"div\", props);\n};\nconst layoutProps = {\n  _frontmatter\n};\nconst MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  let {\n      components\n    } = _ref,\n    props = _objectWithoutProperties(_ref, _excluded);\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"hr\", null), mdx(\"blockquote\", null, mdx(\"p\", {\n    parentName: \"blockquote\"\n  }, \"\\u60F3\\u5206\\u4EAB\\u7684\\u662F\\u73B0\\u4EE3\\u56E2\\u961F\\u534F\\u4F5C\\u7684\\u57FA\\u7840\\u5EFA\\u8BBE\\uFF0C\\u7B80\\u5355\\u68B3\\u7406\\u4E0B\\u65E5\\u5E38\\u6301\\u7EED\\u96C6\\u6210\\u7684\\u65B9\\u6CD5\")), mdx(\"hr\", null), mdx(\"p\", null, \"\\u6301\\u7EED\\u96C6\\u6210\\u662F\\u73B0\\u4EE3\\u56E2\\u961F\\u534F\\u4F5C\\u7684\\u57FA\\u7840\\u5EFA\\u8BBE\\u4E86\\uFF0C\\u4E00\\u4E2A\\u6210\\u719F\\u7684\\u56E2\\u961F\\u80AF\\u5B9A\\u4F1A\\u642D\\u5EFA\\u81EA\\u5DF1\\u7684\\u6574\\u4E2A\\u6301\\u7EED\\u96C6\\u6210\\u548C\\u6301\\u7EED\\u90E8\\u7F72\\u6D41\\u7A0B\\u3002\"), mdx(\"h2\", null, \"\\u3007\\u3001\\u524D\\u8A00\"), mdx(\"p\", null, \"\\u6301\\u7EED\\u96C6\\u6210\\u548C\\u90E8\\u7F72\\uFF0C\\u5927\\u90E8\\u5206\\u9700\\u8981\\u7406\\u6E05\\u4ECE\\u6784\\u5EFA\\u5230\\u90E8\\u7F72\\u4E2D\\u95F4\\u9700\\u8981\\u54EA\\u4E9B\\u6B65\\u9AA4\\u548C\\u72B6\\u6001\\uFF0C\\u624B\\u52A8\\u600E\\u4E48\\u505A\\u7684\\uFF0C\\u58F0\\u660E\\u6216\\u8005\\u811A\\u672C\\u5B9E\\u73B0\\u4E00\\u6A21\\u4E00\\u6837\\u7684\\u6D41\\u7A0B\\uFF0C\\u52A0\\u4E0A\\u4E00\\u4E9B\\u9519\\u8BEF\\u8FB9\\u754C\\u5904\\u7406\\u3001\\u901A\\u77E5\\u6216\\u8005\\u89E6\\u53D1\\u6761\\u4EF6\\u7B49\\uFF0C\\u5F88\\u591A\\u6D41\\u7A0B\\u76F8\\u4F3C\\u53C8\\u4E0D\\u592A\\u76F8\\u540C\\u3002\"), mdx(\"p\", null, \"\\u5177\\u4F53\\u9009\\u62E9\\u54EA\\u4E9B\\u90E8\\u7F72\\u65B9\\u5F0F\\u3001\\u54EA\\u4E9B\\u5DE5\\u5177\\u3001\\u4EC0\\u4E48\\u6280\\u672F\\u3001\\u662F\\u5426\\u9700\\u8981\\u4EBA\\u5DE5\\u4ECB\\u5165\\u3001\\u901A\\u77E5\\u7B49\\u90FD\\u6709\\u592A\\u591A\\u7684\\u9009\\u62E9\\u4E86\\uFF0C\\u4E0D\\u8FC7\\u76EE\\u6807\\u6700\\u7EC8\\u90FD\\u662F\\u4E00\\u81F4\\u7684\\uFF0C\\u7528\\u81EA\\u52A8\\u5316\\u7684\\u6D41\\u7A0B\\u89E3\\u653E\\u4EBA\\u529B\\u3002\"), mdx(\"p\", null, \"\\u6301\\u7EED\\uFF0C\\u5F88\\u5927\\u7A0B\\u5EA6\\u4E0A\\u53EF\\u4EE5\\u7406\\u89E3\\u6210\\uFF1A\\u6D41\\u7A0B\\u548C\\u81EA\\u52A8\\u5316\\u3002\\u4E00\\u65E6\\u628A\\u4E00\\u4E2A\\u91CD\\u590D\\u7684 workflow \\u5206\\u89E3\\u6210\\u4E0D\\u540C\\u7684\\u9636\\u6BB5\\uFF0C\\u53EF\\u4EE5\\u5BF9\\u5E94\\u6709\\u4E0D\\u540C\\u7684\\u786E\\u5B9A\\u52A8\\u4F5C\\u548C\\u671F\\u671B\\uFF0C\\u90A3\\u4E48\\u5C31\\u53EF\\u4EE5\\u4F7F\\u7528\\u81EA\\u52A8\\u5316\\u6765\\u4EE3\\u66FF\\u4EBA\\u5DE5\\uFF0C\\u8FDB\\u800C\\u5B9E\\u73B0\\u53EF\\u91CD\\u590D\\u3001\\u5FEB\\u901F\\u8FED\\u4EE3\\u3001\\u9891\\u7E41\\u53D1\\u5E03\\u3002\"), mdx(\"p\", null, \"\\u800C\\u6301\\u7EED\\u96C6\\u6210\\u3001\\u6301\\u7EED\\u4EA4\\u4ED8\\u3001\\u6301\\u7EED\\u90E8\\u7F72\\u8FD9\\u4E9B\\u8BCD\\uFF0C\\u5F3A\\u8C03\\u7684\\u662F\\u4E0D\\u540C\\u7684\\u4E1A\\u52A1\\u76EE\\u6807\\uFF0C\\u6BD4\\u5982\\uFF1A\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"\\u6301\\u7EED\\u96C6\\u6210\"), \"\\u662F\\u5F3A\\u8C03\\u5F00\\u53D1\\u8FC7\\u7A0B\\u4E2D\\u7684\\u81EA\\u52A8\\u5316\\u6784\\u5EFA\\u3001\\u6D4B\\u8BD5\\u4E4B\\u7C7B\\u7684\\u5DE5\\u4F5C\\uFF0C\\u76EE\\u7684\\u662F\\u5C06\\u786E\\u5B9A\\u529F\\u80FD\\u6B63\\u786E\", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"\\u96C6\\u6210\"), \"\\u5230\\u4EA7\\u54C1\\u4E2D\\uFF0C\\u5927\\u90E8\\u5206\\u662F\\u5728\\u5F00\\u53D1\\u9636\\u6BB5\\uFF0C\\u8FD0\\u884C\\u9891\\u7E41\\u3002\\u5927\\u90E8\\u5206\\u7684\\u76EE\\u7684\\u662F\\u5C06\\u8BF8\\u5982\\u5927\\u91CF\\u7684\\u6D4B\\u8BD5\\u7528\\u4F8B\\u8FD0\\u884C\\u3001\\u8017\\u65F6\\u7684\\u7F16\\u8BD1\\u3001\\u5F00\\u53D1\\u7684\\u6A21\\u5757\\u8FDE\\u63A5\\u5230\\u5B8C\\u6574\\u4EA7\\u54C1\\u7B49\\u9700\\u6C42\\uFF0C\\u4F7F\\u7528\\u4E00\\u4E9B\\u81EA\\u52A8\\u5316\\u7684\\u624B\\u6BB5\\u5728\\u72EC\\u7ACB\\u7684\\u73AF\\u5883\\u91CC\\u9762\\u8FD0\\u884C\\u6D4B\\u8BD5\\u7528\\u4F8B\\uFF0C\\u7136\\u540E\\u6784\\u5EFA\\u51FA\\u7ED3\\u679C\\u3002\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"\\u6301\\u7EED\\u4EA4\\u4ED8\"), \"\\u662F\\u4EE5\\u4EA4\\u4ED8\\u4E3A\\u76EE\\u7684\\uFF0C\\u65B0\\u7684\\u529F\\u80FD\\u4EA4\\u4ED8\\u7ED9\\u4EA7\\u54C1\\u56E2\\u961F\\u6216\\u8005\\u5BA2\\u6237\\u8FDB\\u884C\\u8BC4\\u5BA1\\u68C0\\u67E5\\uFF0C\\u8FD9\\u4E00\\u6B65\\u5305\\u542B\\u5B8C\\u6574\\u7684\\u529F\\u80FD\\uFF0C\\u4EA7\\u51FA\\u53EF\\u4EE5\\u8FDB\\u884C\\u4EA4\\u4ED8\\u7684\\u7ED3\\u679C\\uFF0C\\u8FD9\\u4E2A\\u57FA\\u672C\\u4E0A\\u5728\\u9700\\u6C42\\u57FA\\u672C\\u6D4B\\u8BD5\\u5B8C\\u6210\\u4E4B\\u540E\\uFF0C\\u76EE\\u6807\\u662F\\u53EF\\u4EE5\\u5C0F\\u8303\\u56F4\\u5185\\u6D4B\\u3001\\u6D4B\\u8BD5\\u73AF\\u5883\\u6216\\u8005\\u9884\\u53D1\\u5E03\\u73AF\\u5883\\u3002\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"\\u6301\\u7EED\\u90E8\\u7F72\"), \"\\u662F\\u786E\\u5B9A\\u529F\\u80FD\\u548C\\u9700\\u6C42\\u5B8C\\u6210\\uFF0C\\u5B8C\\u6210\\u4E86\\u57FA\\u672C\\u7684\\u6784\\u5EFA\\uFF0C\\u4E5F\\u901A\\u8FC7\\u4E86\\u8D28\\u91CF\\u68C0\\u67E5\\u548C\\u6D4B\\u8BD5\\u5DE5\\u4F5C\\uFF0C\\u4F7F\\u7528\\u53EF\\u6301\\u7EED\\u7684\\u5DE5\\u4F5C\\u6D41\\u5C06\\u529F\\u80FD\\u90E8\\u7F72\\u5230\\u751F\\u4EA7\\u73AF\\u5883\\u3002\")), mdx(\"p\", null, \"\\u73B0\\u5728\\u57FA\\u672C\\u4E0A\\u5927\\u5927\\u5C0F\\u5C0F\\u7684\\u56E2\\u961F\\u90FD\\u4F1A\\u63A5\\u5165\\u6301\\u7EED\\u7684\\u5DE5\\u4F5C\\u6D41\\uFF0C\\u57FA\\u7840\\u5EFA\\u8BBE\\u6BD4\\u8F83\\u597D\\u7684\\u516C\\u53F8\\u4F1A\\u642D\\u5EFA\\u5F88\\u591A\\u96C6\\u6210\\u5E73\\u53F0\\uFF1A\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u4EE3\\u7801\\u4ED3\\u5E93\\uFF1A\\u63D0\\u4F9B\\u4EE3\\u7801\\u5B58\\u50A8\\u3001MergeRequest\\u3001\\u4EE3\\u7801\\u8BC4\\u5BA1\\u3001\\u8D28\\u91CF\\u5206\\u6790\\u3001\\u5B89\\u5168\\u626B\\u63CF\\u3001webhooks \\u7684\\u529F\\u80FD\\uFF0C\\u8FD9\\u4E2A\\u662F\\u6700\\u57FA\\u672C\\u7684\\uFF0C\\u6E90\\u7801\\u7BA1\\u7406\\u90FD\\u9700\\u8981\\u6709\\uFF0C\\u81EA\\u5DF1\\u642D\\u5EFA Gitlab\\uFF0C\\u6216\\u8005\\u627E\\u79C1\\u6709\\u4ED3\\u5E93\\u7684 SaaS\\u3002\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"ISSUE \\u5E73\\u53F0\\uFF1A\\u5305\\u542B\\u9879\\u76EE\\u3001\\u9700\\u6C42\\u3001\\u4EFB\\u52A1\\u3001\\u91CC\\u7A0B\\u7891\\u3001BUG \\u8FFD\\u8E2A\\u7B49\\uFF0C\\u751A\\u81F3\\u8FD8\\u6709\\u6587\\u6863\\u3001\\u6587\\u4EF6\\u7B49\\u5185\\u5BB9\\u7BA1\\u7406\\uFF0C\\u7BA1\\u63A7\\u5F00\\u53D1\\u8FDB\\u5EA6\\u7B49\\u3002\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u81EA\\u52A8\\u5316\\u6784\\u5EFA\\u5E73\\u53F0\\uFF1A\\u88AB webhooks \\u89E6\\u53D1\\u3001\\u5B9A\\u65F6\\u6216\\u8005\\u624B\\u52A8\\u6784\\u5EFA\\uFF0C\\u63D0\\u4F9B\\u5355\\u5143\\u6D4B\\u8BD5\\u3001\\u7AEF\\u5230\\u7AEF\\u6D4B\\u8BD5\\u3001\\u96C6\\u6210\\u6D4B\\u8BD5\\u3001UI \\u6D4B\\u8BD5\\u3001\\u4EBA\\u5DE5\\u6D4B\\u8BD5\\u7B49\\u6D4B\\u8BD5\\u7ED3\\u679C\\uFF0C\\u540C\\u65F6\\u8FD8\\u53EF\\u80FD\\u4F1A\\u63D0\\u4F9B\\u9759\\u6001\\u4EE3\\u7801\\u5206\\u6790\\u3001\\u52A8\\u6001\\u4EE3\\u7801\\u5206\\u6790\\u3001\\u5B89\\u5168\\u5BA1\\u67E5\\u7B49\\u7ED9\\u51FA\\u4EE3\\u7801\\u6F0F\\u6D1E\\uFF0C\\u6700\\u7EC8\\u6784\\u5EFA\\u51FA\\u4E00\\u4E2A\\u5236\\u54C1\\u4EA7\\u51FA\\uFF0C\\u6700\\u540E\\u53EF\\u80FD\\u662F\\u538B\\u7F29\\u6587\\u4EF6\\u3001npm\\u3001docker \\u955C\\u50CF\\u6216\\u8005jar\\u5305\\u7B49\\u3002\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u81EA\\u52A8\\u90E8\\u7F72\\u5E73\\u53F0\\uFF1A\\u901A\\u8FC7\\u6BD4\\u5982\\u4EE3\\u7801\\u5408\\u5E76\\u5230\\u4E3B\\u5206\\u652F\\u6216\\u8005\\u53D1\\u5E03\\u5206\\u652F\\uFF0C\\u7136\\u540E\\u81EA\\u52A8\\u6253\\u5305\\u6784\\u5EFA\\u51FA\\u751F\\u4EA7\\u7248\\u672C\\uFF0C\\u4E0A\\u4F20\\u3001\\u62C9\\u53D6\\u955C\\u50CF\\u7B49\\u65B9\\u5F0F\\u90E8\\u7F72\\u5230\\u4E91\\u670D\\u52A1\\u5668\\u3001\\u96C6\\u7FA4\\u3001k8s\\u7F16\\u6392\\u7CFB\\u7EDF\\u7B49\\u3002\")), mdx(\"p\", null, \"\\u6574\\u4E2A\\u6D41\\u7A0B\\u5982\\u679C\\u7EC6\\u8BF4\\u8D77\\u6765\\u90A3\\u592A\\u591A\\u4E86\\uFF0C\\u8FD9\\u7BC7\\u6587\\u7AE0\\u8BF4\\u4E0B\\u6211\\u4E2A\\u4EBA\\u7684\\u535A\\u5BA2\\u6301\\u7EED\\u96C6\\u6210\\uFF0C\\u7136\\u540E\\u7B80\\u5355\\u63D0\\u4E0B\\u516C\\u53F8\\u9879\\u76EE\\u7684\\u6301\\u7EED\\u96C6\\u6210\\uFF0C\\u90FD\\u662F\\u6211\\u4EB2\\u624B\\u642D\\u5EFA\\uFF0C\\u8FD8\\u7B97\\u7406\\u89E3\\u6DF1\\u523B\\uFF0C\\u5927\\u90E8\\u5206\\u91C7\\u7528\\u7684\\u6210\\u719F\\u8F6F\\u4EF6\\u548C\\u5E73\\u53F0\\uFF0C\\u6210\\u672C\\u5F88\\u4F4E\\uFF0C\\u4F53\\u9A8C\\u8FD8\\u7B97\\u4E0D\\u9519\\u3002\"), mdx(\"h2\", null, \"\\u4E00\\u3001\\u535A\\u5BA2\\u7684\\u90E8\\u7F72\"), mdx(\"p\", null, \"\\u6211\\u81EA\\u5DF1\\u535A\\u5BA2\\u7684\\u53D1\\u5C55\\u7ECF\\u5386\\u4E86 \\u535A\\u5BA2\\u5E73\\u53F0\\u3001wordpress\\u3001\\u4ECE\\u5934\\u642D\\u5EFA\\u3001\\u9759\\u6001\\u6784\\u5EFA\\uFF0C\\u73B0\\u5728\\u662F\\u5728\\u7528 Gatsby \\u7ED3\\u5408 mdx\\uFF0C\\u8868\\u73B0\\u529B\\u5F3A\\u3001\\u63D2\\u4EF6\\u4E30\\u5BCC\\u3001\\u80FD\\u4F7F\\u7528 react\\u3001\\u7EF4\\u62A4\\u7B80\\u5355\\u7B49\\u3002\"), mdx(\"p\", null, \"\\u5199\\u6587\\u7AE0\\u7684\\u65F6\\u5019\\u4F53\\u9A8C\\u8FD8\\u53EF\\u4EE5\\uFF0C\\u76F4\\u63A5 md \\u6587\\u4EF6\\uFF0C\\u6587\\u4EF6\\u5939\\u805A\\u5408\\u3002\\u4F46\\u662F\\u6BCF\\u6B21\\u90E8\\u7F72\\u7684\\u65F6\\u5019\\u5C31\\u6BD4\\u8F83\\u9EBB\\u70E6\\u4E86\\uFF0C\\u9700\\u8981 build \\u7136\\u540E\\u5C06\\u4E4B\\u540E\\u7684 public \\u6587\\u4EF6\\u5939\\u4F20\\u5230\\u670D\\u52A1\\u5668\\u3002\\u6E90\\u7801\\u5230\\u53EF\\u8BBF\\u95EE\\u7684\\u7F51\\u7AD9\\u9700\\u8981\\u8FD9\\u4E9B\\u8FC7\\u7A0B\\uFF0C\\u4E2D\\u95F4\\u5386\\u7ECF\\u4E86\\u8FD9\\u51E0\\u4E2A\\u9009\\u62E9\\uFF1A\"), mdx(\"h3\", null, \"1. \\u5355\\u673A\\u4E91\\u670D\\u52A1\\u5668\"), mdx(\"p\", null, \"\\u6709\\u4E00\\u53F0\\u4E91\\u670D\\u52A1\\u5668\\uFF0C\\u6709\\u516C\\u7F51 IP\\uFF0C\\u6240\\u4EE5\\u7B2C\\u4E00\\u9009\\u62E9\\u662F\\u642D\\u5EFA\\u4E00\\u4E2A nginx \\u9759\\u6001\\u670D\\u52A1\\u5668\\uFF0C\\u7136\\u540E\\u628A\\u6784\\u5EFA\\u7ED3\\u679C\\u653E\\u5230\\u670D\\u52A1\\u76EE\\u5F55\\u5C31ok\\u4E86\\u3002\"), mdx(\"h4\", null, \"1.1 \\u672C\\u5730\\u6253\\u5305\\u7684\\u6301\\u7EED\\u6784\\u5EFA\\u548C\\u90E8\\u7F72\"), mdx(\"p\", null, \"\\u6700\\u7B80\\u5355\\u7684\\u662F\\u5728\\u672C\\u5730\\u5C06\\u6587\\u4EF6\\u90FD\\u751F\\u6210\\u4E4B\\u540E\\uFF0C\\u4E0A\\u4F20\\u5230\\u670D\\u52A1\\u5668\\u5373\\u53EF\\u3002\\u6BCF\\u6B21 yarn build \\u4EA7\\u51FA public \\u4E0A\\u4F20\\u6BCF\\u4E2A\\u6587\\u4EF6\\u5C31\\u884C\\u4E86\\uFF0C\\u6709\\u51E0\\u4E2A\\u65B9\\u6848\\uFF1A\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u670D\\u52A1\\u7AEF\\u542F\\u52A8\\u4E00\\u4E2A node server \\u63A5\\u6536\\u6587\\u4EF6\\u4E0A\\u4F20\\uFF0C\\u7136\\u540E\\u653E\\u7F6E\\u5230\\u5BF9\\u5E94\\u7684\\u4F4D\\u7F6E\\uFF0C\\u6587\\u4EF6\\u4E00\\u4E2A\\u4E2A\\u4F20\\uFF1B\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u91C7\\u7528 ftp server\\uFF0C\\u6587\\u4EF6\\u5939\\u540C\\u6B65\\u5230\\u670D\\u52A1\\u5668\\uFF1B\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u672C\\u5730\\u6253\\u5305\\uFF0C\\u7136\\u540E\\u538B\\u7F29\\u6210 zip \\u6587\\u4EF6\\uFF0Cssh\\u3001ftp \\u6216\\u8005\\u7B80\\u5355 node servre \\u4E0A\\u4F20\\u538B\\u7F29\\u6587\\u4EF6\\uFF0C\\u670D\\u52A1\\u7AEF\\u63A5\\u6536\\u540E\\u89E3\\u538B\\u7F29\\u5230\\u5BF9\\u5E94\\u7684\\u4F4D\\u7F6E\\u3002\")), mdx(\"p\", null, \"\\u60F3\\u8981\\u4E00\\u952E\\u64CD\\u4F5C\\u7684\\u8BDD\\uFF0C\\u6574\\u4E2A\\u6301\\u7EED\\u90E8\\u7F72\\u673A\\u5236\\u53EF\\u4EE5\\u505A\\u5230\\u4E00\\u4E2A\\u547D\\u4EE4\\uFF0Cyarn deploy \\u7136\\u540E\\u89E6\\u53D1\\u4E0B\\u9762\\u7684\\u6D41\\u7A0B\\uFF1A\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"yarn build \\u5C06\\u6E90\\u6587\\u4EF6\\u6784\\u5EFA\\u51FA public \\u6587\\u4EF6\\u5939\\u4F5C\\u4E3A\\u9759\\u6001\\u6587\\u4EF6\\u76EE\\u5F55\\uFF1B\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"node zip.js \\u5C06 public \\u538B\\u7F29\\u6210 zip \\u5355\\u6587\\u4EF6\\uFF1B\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"node upload.js \\u5C06 zip \\u6587\\u4EF6\\u201C\\u5F04\\u201D\\u5230\\u670D\\u52A1\\u7AEF\\uFF1B\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u670D\\u52A1\\u5668\\u7AEF\\u8FD0\\u884C\\u4E00\\u4E2A node server \\u76D1\\u542C\\u4E0A\\u4F20\\uFF0C\\u6216\\u8005\\u4F7F\\u7528 ftp server \\u63A5\\u6536\\u6587\\u4EF6\\uFF1B\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u811A\\u672C\\u786E\\u5B9A\\u4E0A\\u4F20\\u7684\\u6587\\u4EF6\\u540E\\uFF0C\\u8C03\\u7528\\u670D\\u52A1\\u7AEF\\u7684 api \\u89E3\\u538B\\u6587\\u4EF6\\uFF1B\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u90E8\\u7F72\\u5B8C\\u6BD5\\uFF0C\\u901A\\u77E5\\u3002\")), mdx(\"p\", null, \"\\u867D\\u7136\\u4E0D\\u7528\\u4E00\\u6B65\\u6B65\\u64CD\\u4F5C\\uFF0C\\u4E00\\u6761\\u547D\\u4EE4\\u5373\\u53EF\\uFF0C\\u4F46\\u662F\\u6BD4\\u8F83\\u9EBB\\u70E6\\u7684\\u5728\\u4E8E\\u6BCF\\u6B21\\u5199\\u5B8C\\u4E4B\\u540E\\uFF0C\\u8FD0\\u884C\\u547D\\u4EE4\\u3001\\u7B49\\u5F85\\u4E0A\\u4F20\\uFF0C\\u786E\\u8BA4\\u6CA1\\u95EE\\u9898\\u624D\\u80FD\\u79BB\\u5F00\\uFF0C\\u800C\\u9879\\u76EE\\u8D8A\\u6765\\u8D8A\\u5927\\u4E4B\\u540E\\u6784\\u5EFA\\u548C\\u4E0A\\u4F20\\u90FD\\u6BD4\\u8F83\\u8017\\u65F6\\uFF0C\\u6574\\u4E2A\\u6D41\\u7A0B\\u5F88\\u4E0D\\u53EF\\u6301\\u7EED\\u3002\"), mdx(\"h4\", null, \"1.2 \\u670D\\u52A1\\u7AEF\\u6253\\u5305\\u7684\\u6301\\u7EED\\u6784\\u5EFA\\u548C\\u90E8\\u7F72\"), mdx(\"p\", null, \"\\u597D\\u5904\\u662F\\u4E0D\\u9700\\u8981\\u672C\\u5730\\u6784\\u5EFA\\uFF0C\\u4E5F\\u4E0D\\u9700\\u8981\\u76EF\\u7740\\u4F20\\u8F93\\uFF0C\\u53EA\\u9700\\u8981\\u670D\\u52A1\\u7AEF\\u81EA\\u5DF1\\u8FD0\\u884C\\u62C9\\u53D6\\u6E90\\u6587\\u4EF6\\u5C31\\u884C\\uFF0C\\u624B\\u52A8\\u64CD\\u4F5C\\u4E5F\\u4E0D\\u590D\\u6742 git pull\\uFF0Cyarn build \\u4E24\\u4E2A\\u547D\\u4EE4\\u3002\"), mdx(\"p\", null, \"\\u81EA\\u52A8\\u6784\\u5EFA\\u548C\\u90E8\\u7F72\\u7684\\u8FC7\\u7A0B\\uFF1A\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u5BA2\\u6237\\u7AEF\\u65B0\\u6587\\u7AE0\\u5199\\u5B8C\\u4E4B\\u540E\\uFF0Cgit \\u6253\\u4E0A tag \\u63A8\\u9001\\uFF0Cgit \\u4ED3\\u5E93\\u8BBE\\u7F6E webhook \\uFF0C\\u5C06\\u65B0 tag \\u7684\\u6D88\\u606F\\u53D1\\u9001\\u7ED9\\u670D\\u52A1\\u5668\\uFF1B\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u670D\\u52A1\\u5668\\u4E00\\u4E2A node server \\u76D1\\u542C\\u5230 git \\u4ED3\\u5E93\\u7684\\u6D88\\u606F\\u89E6\\u53D1\\uFF1B\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"node server \\u8FD0\\u884C\\u6784\\u5EFA\\u548C\\u90E8\\u7F72\\u673A\\u5236\\uFF1B\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u81EA\\u52A8 git pull \\u6700\\u65B0\\u7684\\u4EE3\\u7801\\uFF1B\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u8FD0\\u884C yarn build\\uFF1B\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u6587\\u4EF6\\u4F1A\\u81EA\\u52A8\\u6784\\u5EFA\\u5E76\\u8F93\\u51FA\\u5230\\u7248\\u672C\\u6587\\u4EF6\\u5939\\uFF1B\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u5C06\\u9759\\u6001\\u670D\\u52A1\\u6587\\u4EF6\\u5939\\u94FE\\u63A5\\u5230\\u6700\\u65B0\\u7248\\u672C\\u7684\\u6587\\u4EF6\\u5939\\u5373\\u53EF\\u7ACB\\u5373\\u5B8C\\u6210\\u90E8\\u7F72\\uFF1B\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u90E8\\u7F72\\u5B8C\\u6210\\uFF0C\\u901A\\u77E5\\u3002\")), mdx(\"p\", null, \"\\u6BD4\\u8F83\\u7701\\u4E8B\\uFF0C\\u4E0D\\u9700\\u8981\\u672C\\u5730\\u505A\\u4EC0\\u4E48\\u4E8B\\u60C5\\uFF0C\\u53EA\\u9700\\u8981\\u5173\\u5FC3\\u4EE3\\u7801\\u4ED3\\u5E93\\u7684\\u72B6\\u6001\\u5373\\u53EF\\u3002\"), mdx(\"p\", null, \"\\u4F46\\u662F\\u4F53\\u9A8C\\u4E0B\\u6765\\u4E0D\\u597D\\u7684\\u5730\\u65B9\\u5728\\u4E8E\\uFF1A\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u6784\\u5EFA\\u73AF\\u5883\\u5F71\\u54CD\\u670D\\u52A1\\u5668\\u73AF\\u5883\\u3002node \\u9700\\u8981\\u4FDD\\u8BC1\\u7248\\u672C\\uFF0C\\u8FD8\\u53EF\\u80FD\\u53D7\\u5176\\u4ED6\\u7684\\u9879\\u76EE\\u5F71\\u54CD\\uFF1B\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u9700\\u8981\\u4E00\\u4E2A\\u76D1\\u542C\\u670D\\u52A1\\u54CD\\u5E94 githook\\u3002\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u7F13\\u5B58\\u5F88\\u5927\\u3002yarn install \\u4E4B\\u540E\\u80FD\\u6709 1.5G \\u7684\\u5B58\\u50A8\\uFF0C\\u8FD9\\u4E2A\\u867D\\u7136\\u6CA1\\u5565\\u5F71\\u54CD\\uFF0C\\u4F46\\u662F\\u8FD8\\u662F\\u611F\\u89C9\\u6709\\u70B9 dirty\\u3002\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u6784\\u5EFA\\u9519\\u8BEF\\u548C\\u72B6\\u6001\\u4E0D\\u53EF\\u63A7\\u3002\\u54CD\\u5E94\\u670D\\u52A1\\u6302\\u4E86\\u3001\\u7F16\\u8BD1\\u9519\\u8BEF\\u4E4B\\u7C7B\\u7684\\u6CA1\\u529E\\u6CD5\\u76D1\\u63A7\\u3002\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u670D\\u52A1\\u5668\\u8BBF\\u95EE\\u4E0D\\u592A\\u7406\\u60F3\\u3002\\u6CA1\\u6709\\u6DFB\\u52A0 CDN \\u670D\\u52A1\\uFF0C\\u8BBF\\u95EE\\u4E00\\u65E6\\u4E0A\\u6765\\u4E4B\\u540E\\uFF0C\\u54CD\\u5E94\\u65F6\\u95F4\\u5C31\\u6709\\u70B9\\u5361\\u987F\\u4E86\\u3002\")), mdx(\"h4\", null, \"1.3 \\u670D\\u52A1\\u7AEF\\u6784\\u5EFA + \\u5BB9\\u5668\\u670D\\u52A1\\u7684\\u81EA\\u52A8\\u90E8\\u7F72\"), mdx(\"p\", null, \"\\u90E8\\u7F72\\u4E00\\u6BB5\\u65F6\\u95F4\\u4E4B\\u540E\\u6709\\u4E00\\u4E9B\\u6539\\u8FDB\\uFF1A\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u4F7F\\u7528\\u5BB9\\u5668\\u4EE3\\u66FF\\u73AF\\u5883\\u3002\\u8FD9\\u6837 node \\u7248\\u672C\\u548C\\u6587\\u4EF6\\u5C31\\u4E0D\\u53D7\\u670D\\u52A1\\u5668\\u672C\\u8EAB\\u5F71\\u54CD\\uFF0C\\u6BD4\\u8F83\\u5E72\\u51C0\\uFF0C\\u6302\\u4E86\\u4E5F\\u80FD\\u591F\\u5FEB\\u901F\\u542F\\u52A8\\u3002\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u6253\\u5305\\u73AF\\u5883\\u3001\\u90E8\\u7F72\\u73AF\\u5883\\u5206\\u79BB\\u3002\\u6253\\u5305\\u5BB9\\u5668\\u8FD0\\u884C\\u5B8C\\u4E4B\\u540E\\u4EA7\\u751F\\u4E00\\u4E2A\\u90E8\\u7F72\\u955C\\u50CF\\uFF0C\\u6253\\u5305\\u7684\\u7F13\\u5B58\\u5728\\u955C\\u50CF\\u4E2D\\uFF0C\\u773C\\u4E0D\\u89C1\\u5FC3\\u4E0D\\u70E6\\u3002\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u9519\\u8BEF\\u901A\\u77E5\\u3002\\u6253\\u5305\\u9636\\u6BB5\\u505A\\u4E86\\u9519\\u8BEF\\u63D0\\u793A\\uFF0C\\u5BB9\\u5668\\u72B6\\u6001\\u76D1\\u63A7\\u9519\\u8BEF\\u63D0\\u793A\\u3002\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u4F7F\\u7528 CDN \\u6765\\u4F5C\\u4E3A\\u8BBF\\u95EE\\u5165\\u53E3\\uFF0C\\u6E90\\u7AD9\\u4FDD\\u8BC1\\u53EF\\u7528\\u5373\\u53EF\\u3002\")), mdx(\"p\", null, \"\\u57FA\\u672C\\u80FD\\u89E3\\u51B3\\u5927\\u90E8\\u5206\\u7684\\u95EE\\u9898\\uFF0C\\u5C0F\\u800C\\u7F8E\\u7684\\u611F\\u89C9\\uFF0C\\u5404\\u4E2A\\u670D\\u52A1\\u4E5F\\u90FD\\u5341\\u5206\\u53EF\\u63A7\\u3002\"), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"\\u6301\\u7EED\\u6784\\u5EFA\\u7684\\u90E8\\u5206\\u653E\\u5230\\u4E86 dockerfile \\u91CC\\u9762\\uFF0C\\u90E8\\u7F72\\u548C\\u8FD0\\u884C\\u90E8\\u5206\\u4E5F\\u662F\\u6807\\u51C6\\u901A\\u7528\\u7684\\u64CD\\u4F5C\\u955C\\u50CF\\u884C\\u4E3A\\uFF0C\\u4E0D\\u7528\\u4FB5\\u5165\\u5230\\u4E1A\\u52A1\\u91CC\\u9762\\u4E86\\u3002\")), mdx(\"h3\", null, \"2. \\u65E0\\u670D\\u52A1\\u5668\\u7684\\u9759\\u6001\\u670D\\u52A1\"), mdx(\"p\", null, \"\\u8BA1\\u5212\\u4F7F\\u7528\\u9759\\u6001\\u670D\\u52A1\\u662F\\u56E0\\u4E3A\\u81EA\\u5DF1\\u7684\\u4E91\\u670D\\u52A1\\u5668\\u6027\\u80FD\\u786E\\u5B9E\\u6709\\u9650\\uFF0C\\u6302\\u8F7D\\u4E86\\u5F88\\u591A\\u670D\\u52A1\\uFF0C\\u4E0D\\u592A\\u7A33\\u5B9A\\uFF0C\\u9700\\u8981\\u4E00\\u4E9B\\u7CBE\\u529B\\u6765\\u7EF4\\u62A4\\u3002\\u6240\\u4EE5\\u60F3\\u8981\\u8FC1\\u79FB\\u5230\\u6258\\u7BA1\\u7684\\u73AF\\u5883\\u4E0A\\uFF0C\\u4E0D\\u518D\\u82B1\\u7CBE\\u529B\\u7EF4\\u62A4\\u670D\\u52A1\\u5668\\u72B6\\u6001\\u3002\"), mdx(\"p\", null, \"\\u6709\\u5F88\\u591A\\u7684\\u9009\\u62E9\\uFF1Agithub pages \\u670D\\u52A1\\u3001Coding \\u9759\\u6001\\u9875\\u9762\\u3001\\u4E03\\u725B\\u4E91\\u5B58\\u50A8\\u3001\\u817E\\u8BAF\\u4E91\\u5B58\\u50A8\\u7B49\\u90FD\\u80FD\\u5B8C\\u6210\\u8FD9\\u4E2A\\u4EFB\\u52A1\\u3002\"), mdx(\"p\", null, \"\\u5176\\u4E2D github pages \\u670D\\u52A1\\u8BBF\\u95EE\\u4E0D\\u592A\\u597D\\uFF0C\\u4E00\\u5F00\\u59CB\\u5C31 pass \\u4E86\\u3002Coding \\u9759\\u6001\\u9875\\u9762\\u5F53\\u65F6\\u975E VIP \\u7528\\u6237\\u9700\\u8981\\u6709\\u4E2D\\u95F4\\u9875\\uFF0C\\u800C\\u4E14\\u4E1A\\u52A1\\u591A\\u6B21\\u53D8\\u66F4\\uFF0C\\u8BBF\\u95EE\\u8D77\\u6765\\u4E5F\\u4E0D\\u592A\\u7A33\\u5B9A\\u7684\\u6837\\u5B50\\u3002\\u4E03\\u725B\\u4E91\\u5B58\\u50A8\\u548C\\u817E\\u8BAF\\u5BF9\\u8C61\\u50A8\\u5B58\\uFF0C\\u817E\\u8BAF\\u4E91\\u4F53\\u91CF\\u5927\\u4E00\\u4E9B\\uFF0C\\u76F8\\u5173\\u4E91\\u670D\\u52A1\\u6BD4\\u8F83\\u591A\\uFF0C\\u6240\\u4EE5\\u9009\\u62E9\\u4E86\\u817E\\u8BAF\\u4E91\\u5B58\\u50A8\\u3002\"), mdx(\"p\", null, \"\\u5177\\u4F53\\u914D\\u7F6E\\u4E0D\\u8BF4\\u4E86\\uFF0Chtml \\u6587\\u4EF6\\u6254\\u4E0A\\u53BB\\uFF0C\\u5F00\\u542F\\u9759\\u6001\\u7F51\\u7AD9\\u5373\\u53EF\\uFF0C\\u7136\\u540E\\u6253\\u5F00cdn\\u529F\\u80FD\\uFF0C\\u57DF\\u540D\\u914D\\u7F6E\\u5230cdn\\uFF0C\\u8BBE\\u7F6E\\u56DE\\u6E90\\u7B56\\u7565\\u7B49\\u5C31\\u80FD\\u63D0\\u4F9B\\u670D\\u52A1\\u4E86\\u3002\"), mdx(\"h4\", null, \"2.1 \\u4E91\\u50A8\\u5B58\\u7684\\u81EA\\u52A8\\u90E8\\u7F72\"), mdx(\"p\", null, \"\\u7B2C\\u4E00\\u9636\\u6BB5\\u7528\\u7684\\u662F\\u672C\\u5730\\u6784\\u5EFA\\u548C\\u90E8\\u7F72\\u7684\\u811A\\u672C\\uFF0C\\u548C\\u81EA\\u5DF1\\u7684\\u670D\\u52A1\\u5668\\u76F8\\u540C\\uFF0C\\u53EA\\u662F\\u670D\\u52A1\\u5668\\u7528\\u7684\\u662F\\u4E91\\u5B58\\u50A8\\u7684sdk\\u6765\\u63A5\\u6536\\u6587\\u4EF6\\u3002\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"yarn build \\u5C06\\u6E90\\u6587\\u4EF6\\u6784\\u5EFA\\u51FA public \\u6587\\u4EF6\\u5939\\u4F5C\\u4E3A\\u9759\\u6001\\u6587\\u4EF6\\u76EE\\u5F55\\uFF1B\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"node deploy \\u5C06 public \\u6587\\u4EF6\\u6309\\u7167\\u8FC7\\u6EE4\\u89C4\\u5219\\u4E00\\u4E2A\\u4E2A\\u4E0A\\u4F20\\u5230\\u4E91\\u5B58\\u50A8\\u91CC\\uFF1B\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u90E8\\u7F72\\u5B8C\\u6BD5\\uFF0C\\u901A\\u77E5\\u3002\")), mdx(\"h4\", null, \"2.2 \\u5168\\u6D41\\u7A0B\\u81EA\\u52A8\\u6784\\u5EFA\\u90E8\\u7F72\"), mdx(\"p\", null, \"\\u73B0\\u5728\\u4E91\\u51FD\\u6570\\u5F88\\u6D41\\u884C\\uFF0C\\u817E\\u8BAF\\u4E91\\u5B58\\u50A8\\u548C\\u817E\\u8BAF\\u4E91\\u51FD\\u6570\\u975E\\u5E38\\u642D\\uFF0C\\u63D0\\u4F9B\\u4E86\\u4E8B\\u4F8B\\u548C\\u89E6\\u53D1\\u4E8B\\u4EF6\\u3002\\u6211\\u4EEC\\u53EF\\u4EE5\\u8BBE\\u7F6E\\u67D0\\u4E00\\u4E2A\\u8DEF\\u5F84\\u7684zip\\u6587\\u4EF6\\u65B0\\u5EFA\\u6216\\u66F4\\u65B0\\u5C31\\u8FD0\\u884C\\u89E3\\u538B\\u7F29\\u7A0B\\u5E8F\\u3002\"), mdx(\"p\", null, \"ci \\u670D\\u52A1\\u4E5F\\u6709\\u5F88\\u591A\\uFF0CCoding \\u4E0E\\u817E\\u8BAF\\u5408\\u4F5C\\u540E\\u53EB\\u817E\\u4E91 \\uD83D\\uDE05\\uFF0C\\u76EE\\u524D\\u611F\\u89C9\\u4E13\\u6CE8\\u4E0Edevops\\uFF0C\\u6240\\u4EE5\\u81EA\\u52A8\\u6784\\u5EFA\\u548C\\u90E8\\u7F72\\u505A\\u7684\\u5F88\\u597D\\uFF0C\\u6574\\u4E2Agit\\u4ED3\\u5E93\\u4E00\\u76F4\\u4ED6\\u5BB6\\u7684\\u3002\"), mdx(\"p\", null, \"\\u611F\\u89C9\\u6574\\u4E2A\\u81EA\\u52A8\\u6784\\u5EFA\\u548C\\u90E8\\u7F72\\u90FD\\u662F\\u817E\\u8BAF\\u5BB6\\u7684:\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u7528 coding \\u7684 git \\u4ED3\\u5E93\\u5B58\\u50A8\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u6BCF\\u6B21\\u65B0\\u7248\\u672C\\u786E\\u8BA4\\uFF0C\\u63D0\\u4EA4\\u65B0\\u7684 tag\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Coding \\u65B0 tag \\u89E6\\u53D1\\u81EA\\u52A8\\u6784\\u5EFA\\uFF0C\\u7136\\u540E\\u7528 jenkins \\u811A\\u672C\\uFF0C\\u81EA\\u52A8\\u8FD0\\u884C\\u6784\\u5EFA\\u903B\\u8F91\\u3002\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Jenkins \\u63A7\\u5236\\u6D41\\u7A0B\\u5B8C\\u6210\\u83B7\\u53D6\\u73AF\\u5883\\u53D8\\u91CF\\u3001\\u62C9\\u53D6\\u4EE3\\u7801\\u3001\\u5B89\\u88C5\\u4F9D\\u8D56\\u3001\\u6253\\u5305\\u6784\\u5EFA\\u3001\\u538B\\u7F29\\u6210 zip\\u3001\\u6700\\u540E\\u4E0A\\u4F20\\u5230\\u817E\\u8BAF cos\\u3002\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u817E\\u8BAF\\u4E91\\u5B58\\u50A8\\u6DFB\\u52A0\\u4E91\\u51FD\\u6570\\uFF0C\\u68C0\\u6D4B\\u5230\\u65B0\\u7684 zip \\u6587\\u4EF6\\u5C31\\u81EA\\u52A8\\u8FD0\\u884C\\u89E3\\u538B\\u7A0B\\u5E8F\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u89E3\\u538B\\u5B8C\\u6210\\uFF0C\\u90E8\\u7F72\\u7ED3\\u675F\\u3002\")), mdx(\"p\", null, \"\\u6574\\u4E2A\\u6D41\\u7A0B\\u5728\\u4E00\\u4E9B\\u5173\\u952E\\u8282\\u70B9\\u5904\\u7406\\u4E0B\\u8FB9\\u754C\\u6761\\u4EF6\\u5C31\\u80FD\\u8FBE\\u5230\\u975E\\u5E38\\u7A33\\u5B9A\\u7684\\u90E8\\u7F72\\u6D41\\u7A0B\\uFF0C\\u89E6\\u53D1\\u6761\\u4EF6\\u53EA\\u9700\\u8981\\u65B0\\u7684 tag \\u6216\\u8005\\u4E00\\u4E2A\\u6309\\u94AE\\u70B9\\u51FB\\u3002\"), mdx(\"p\", null, \"\\u800C\\u4E14\\u5168\\u90E8\\u5BF9\\u4E8E\\u4E2A\\u4EBA\\u5F00\\u53D1\\u8005\\u90FD\\u6709\\u514D\\u8D39\\u7684\\u989D\\u5EA6\\u8D44\\u6E90\\uFF0C\\u975E\\u5E38\\u4F18\\u96C5\\u597D\\u7528\\u3002\"), mdx(\"h3\", null, \"3. \\u535A\\u5BA2\\u7684\\u6258\\u7BA1\\u3001\\u53EF\\u6301\\u7EED\\u548C\\u90E8\\u7F72\"), mdx(\"p\", null, \"\\u9664\\u4E86\\u6301\\u7EED\\u6784\\u5EFA\\u548C\\u90E8\\u7F72\\uFF0C\\u535A\\u5BA2\\u9879\\u76EE\\u6574\\u4E2A\\u6258\\u7BA1\\u548C\\u6301\\u7EED\\u5316\\u5F88\\u6709\\u610F\\u601D:\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u4ED3\\u5E93\\u5B58\\u50A8\\u7528\\u7684 coding \\u670D\\u52A1\\uFF0C\\u7B97\\u662F SaaS\\uFF1B\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u9879\\u76EE\\u4E2D\\u7684\\u52A8\\u6001\\u6570\\u636E\\u7528\\u7684\\u662F leancloud \\u7684\\u6570\\u636E\\u5B58\\u50A8\\u548C\\u76F8\\u5173 api\\uFF0C\\u6BD4\\u5982\\u6587\\u7AE0\\u9605\\u8BFB\\u6570\\u7684\\u66F4\\u65B0\\uFF0C\\u8FD9\\u662F BaaS\\uFF1B\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u535A\\u5BA2\\u7684\\u8BC4\\u8BBA\\u7528\\u7684\\u662F gitalk\\uFF0C\\u672C\\u8D28\\u4E0A\\u7528\\u7684\\u662F github \\u7684 issues \\u529F\\u80FD\\u548C\\u767B\\u5F55\\u76F8\\u5173\\u7684\\u5F00\\u653E\\u63A5\\u53E3\\uFF1B\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u4E00\\u4E9B\\u5373\\u65F6\\u901A\\u4FE1\\u548C\\u4FE1\\u606F\\u63A8\\u9001\\u7528\\u7684\\u662F leancloud \\u96C6\\u6210\\u7684\\u76F8\\u5173\\u670D\\u52A1\\u8FD9\\u662F BaaS\\uFF1B\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u6839\\u636E\\u6570\\u636E\\u5B58\\u50A8\\u5728\\u5B58\\u50A8\\u4E4B\\u540E\\u89E6\\u53D1\\u7B80\\u5355\\u8BA1\\u7B97\\uFF0C\\u7528\\u7684\\u662F leancloud \\u7684\\u4E91\\u5F15\\u64CE\\uFF0C\\u8FD9\\u662F\\u6807\\u51C6\\u7684 FaaS\\u3002\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u6301\\u7EED\\u6784\\u5EFA\\u7528\\u7684coding\\u7684\\u81EA\\u52A8\\u6784\\u5EFA\\uFF1B\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u81EA\\u52A8\\u6784\\u5EFA\\u51FA\\u6765\\u7684\\u538B\\u7F29\\u5305\\u7528\\u4E91\\u51FD\\u6570\\u89E3\\u538B\\u5230\\u5BF9\\u8C61\\u5B58\\u50A8\\uFF0C\\u8FD9\\u662F\\u4E91\\u51FD\\u6570 Faas\\uFF1B\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u5BF9\\u8C61\\u5B58\\u50A8\\u4F5C\\u4E3A\\u9759\\u6001\\u7F51\\u7AD9\\uFF1B\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u9759\\u6001\\u7F51\\u7AD9\\u4F5C\\u4E3A\\u6E90\\u7AD9\\u6DFB\\u52A0 CDN\\uFF1B\")), mdx(\"p\", null, \"\\u6240\\u4EE5\\u6574\\u4E2A\\u9879\\u76EE\\u90FD\\u6CA1\\u6709\\u7528\\u5230\\u81EA\\u5DF1\\u7684\\u670D\\u52A1\\u5668\\uFF0C\\u6BCF\\u4E2A\\u6B65\\u9AA4\\u90FD\\u7528\\u4E86\\u975E\\u5E38\\u4F18\\u79C0\\u7684\\u9879\\u76EE\\u6765\\u652F\\u6491\\uFF0C\\u6210\\u672C\\u975E\\u5E38\\u4F4E\\uFF0C\\u800C\\u4E14\\u80FD\\u591F\\u6839\\u636E\\u4F7F\\u7528\\u91CF\\u4ED8\\u8D39\\uFF0C\\u611F\\u89C9\\u975E\\u5E38\\u7684\\u6709\\u610F\\u601D\\u3002\"), mdx(\"h2\", null, \"\\u4E8C\\u3001\\u516C\\u53F8\\u9879\\u76EE\\u7684\\u53EF\\u6301\\u7EED\"), mdx(\"p\", null, \"\\u516C\\u53F8\\u9879\\u76EE\\u7684\\u4E0D\\u540C\\u5728\\u4E8E\\uFF0C\\u51FA\\u4E8E\\u4FDD\\u5BC6\\u3001\\u6210\\u672C\\u548C\\u53EF\\u8FC1\\u79FB\\u7684\\u8003\\u8651\\uFF0C\\u6CA1\\u6709\\u5B8C\\u5168\\u91C7\\u7528\\u67D0\\u4E00\\u4E2A\\u5B8C\\u6574\\u7684\\u53EF\\u6301\\u7EED\\u65B9\\u6848\\uFF0C\\u7ED3\\u5408\\u4E86\\u5185\\u7F51\\u3001\\u5916\\u7F51\\u7684\\u53EF\\u6301\\u7EED\\u65B9\\u5F0F\\u3002\"), mdx(\"p\", null, \"\\u73AF\\u5883\\u6BD4\\u8F83\\u4E0D\\u540C\\u7684\\u5730\\u65B9\\uFF1A\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u9996\\u5148\\u662F\\u4EE3\\u7801\\u4ED3\\u5E93\\u662F\\u5728\\u5185\\u7F51\\uFF0C\\u5916\\u90E8\\u516C\\u7F51\\u662F\\u6CA1\\u529E\\u6CD5\\u8BBF\\u95EE\\u7684\\uFF0C\\u538B\\u6839\\u6CA1\\u6709\\u8DEF\\u7531\\u5230\\u5916\\u7F51\\u3002\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u5185\\u5916\\u7F51\\u4E4B\\u5206\\uFF0C\\u5185\\u90E8\\u51FA\\u4E8E\\u6D4B\\u8BD5\\u7684\\u76EE\\u7684\\u642D\\u5EFA\\u6709\\u6D4B\\u8BD5\\u73AF\\u5883\\uFF0C\\u4E00\\u822C\\u90E8\\u7F72\\u6700\\u65B0\\u7684\\u9884\\u53D1\\u5E03\\u5206\\u652F\\u3002\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u7136\\u540E\\u662F\\u67B6\\u6784\\u4E0A\\u6709\\u5185\\u7F51\\u3001\\u81EA\\u5DF1\\u7684 IDC \\u673A\\u623F\\u548C\\u4E91\\u670D\\u52A1\\uFF0C\\u67B6\\u6784\\u6BD4\\u8F83\\u590D\\u6742\\uFF0C\\u4E0D\\u53EF\\u80FD All in Cloud\\u3002\")), mdx(\"p\", null, \"\\u670D\\u52A1\\u67B6\\u6784\\u51FA\\u4E8E\\u4FDD\\u5BC6\\u4E0D\\u80FD\\u7EC6\\u8BF4\\uFF0C\\u5927\\u81F4\\u63D0\\u4E00\\u4E9B\\u529F\\u80FD\\u5173\\u952E\\u8BCD\\uFF0C\\u5176\\u4E2D\\u7528\\u5230\\u7684\\u6280\\u672F\\u6808\\u5173\\u952E\\u7684\\u6709\\uFF1A GitLab\\u3001Jenkins\\u3001Docker ( + Registry\\xA0)\\u3001\\u81EA\\u5EFA\\u7684\\u90E8\\u7F72\\u7BA1\\u7406\\u7B49\\u3002\"), mdx(\"p\", null, \"\\u5176\\u4E2D\\u81EA\\u5EFA\\u7684\\u90E8\\u7F72\\u7BA1\\u7406\\u7BA1\\u7406\\u5168\\u90E8\\u7684\\u7EBF\\u4E0A\\u73AF\\u5883\\u3001\\u5236\\u54C1\\u5E93\\u3001\\u5F53\\u524D\\u5728\\u7EBF\\u7248\\u672C\\u3001\\u90E8\\u7F72\\u548C\\u53D1\\u5E03\\u8BA1\\u5212\\u7B49\\uFF0C\\u7B97\\u662F\\u79C1\\u4EBA\\u8BA2\\u5236\\uFF0C\\u6BD4\\u8F83\\u65B9\\u4FBF\\u7684\\u4E86\\u89E3\\u3002\"), mdx(\"h3\", null, \"1. \\u81EA\\u5EFA\\u7684\\u8D44\\u6E90\\u7BA1\\u7406\"), mdx(\"p\", null, \"\\u4EA7\\u54C1\\u590D\\u6742\\u5EA6\\u4E0A\\u6765\\u4E4B\\u540E\\uFF0C\\u7EBF\\u4E0A\\u7EBF\\u4E0B\\u3001\\u5404\\u4E2A\\u670D\\u52A1\\u72B6\\u6001\\u3001\\u90E8\\u7F72\\u548C\\u53D1\\u5E03\\u7B49\\u90FD\\u6BD4\\u8F83\\u6DF7\\u4E71\\uFF0C\\u6240\\u4EE5\\u9488\\u5BF9\\u8FD9\\u4E2A\\u4E8B\\u60C5\\uFF0C\\u8D1F\\u8D23\\u4E86\\u8FD9\\u4E2A\\u9879\\u76EE\\uFF0C\\u76EE\\u7684\\u662F\\u628A\\u8D44\\u6E90\\u7BA1\\u7406\\u8D77\\u6765\\uFF0C\\u5305\\u62EC\\u670D\\u52A1\\u5668\\u3001\\u5BB9\\u5668\\u3001\\u5236\\u54C1\\u7B49\\uFF0C\\u5206\\u522B\\u7684\\u72B6\\u6001\\u7BA1\\u7406\\u3001\\u90E8\\u7F72\\u4E0A\\u7EBF\\u7B49\\uFF0C\\u529F\\u80FD\\u8BBE\\u8BA1\\u4E0A\\u5C3D\\u53EF\\u80FD\\u5168\\u9762\\uFF0C\\u5B9E\\u73B0\\u4E0A\\u6E10\\u8FDB\\u5F0F\\u5B9E\\u73B0\\uFF0C\\u6700\\u7EC8\\u76EE\\u6807\\u662F\\u5B9E\\u73B0\\u6574\\u4E2A\\u9879\\u76EE\\u7684\\u8D44\\u6E90\\u3001\\u72B6\\u6001\\u3001\\u670D\\u52A1\\u548C\\u544A\\u8B66\\u529F\\u80FD\\u3002\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u57FA\\u672C\\u7684\\u7BA1\\u7406\\u5168\\u90E8\\u670D\\u52A1\\u8D44\\u6E90\\uFF0C\\u5305\\u62EC\\u4E91\\u670D\\u52A1\\u3001IDC\\u3001\\u5185\\u7F51\\u673A\\u5668\\u7684\\u72B6\\u6001\\u76D1\\u63A7\\u548C\\u62A5\\u8B66\\u3002\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u5404\\u4E2A\\u670D\\u52A1\\u5BB9\\u5668\\u7684\\u7BA1\\u7406\\uFF0C\\u670D\\u52A1\\u5BB9\\u5668\\u3001\\u8D44\\u6E90\\u914D\\u7F6E\\u3001\\u4E0A\\u7EBF\\u7248\\u672C\\u548C\\u72B6\\u6001\\u76D1\\u63A7\\uFF0C\\u76EE\\u524D\\u9664\\u4E86\\u7279\\u522B\\u7684\\u670D\\u52A1\\uFF0C\\u51E0\\u4E4E\\u5168\\u90E8\\u7528\\u5BB9\\u5668\\u5305\\u88C5\\u7F16\\u6392\\uFF0C\\u6BCF\\u53F0\\u673A\\u5668\\u7528\\u6765\\u4EC0\\u4E48\\u670D\\u52A1\\uFF0C\\u6BCF\\u4E2A\\u670D\\u52A1\\u591A\\u5C11\\u8D44\\u6E90\\u7B49\\u3002\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u5236\\u54C1\\u5E93\\u7684\\u7BA1\\u7406\\uFF0C\\u6709\\u54EA\\u4E9B\\u5236\\u54C1\\uFF0C\\u6BCF\\u4E2A\\u5236\\u54C1\\u7684\\u4E1A\\u52A1\\u3001\\u7248\\u672C\\u3001\\u90E8\\u7F72\\u8FD0\\u884C\\u8BF4\\u660E\\u7B49\\u3002\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u6784\\u5EFA hooks \\u548C\\u76F8\\u5173\\u8FD0\\u884C\\u673A\\u5236\\uFF0CJenkins \\u670D\\u52A1\\u7BA1\\u7406\\u3002\")), mdx(\"p\", null, \"\\u5728\\u8FD9\\u4E2A\\u5DE5\\u5177\\u7684\\u5E2E\\u52A9\\u4E0B\\uFF0C\\u76F8\\u5173\\u6784\\u5EFA\\u548C\\u53EF\\u6301\\u7EED\\u90FD\\u6BD4\\u8F83\\u597D\\u505A\\u4E86\\u3002\"), mdx(\"h3\", null, \"2. \\u4E3B\\u670D\\u52A1\\u7684\\u6D4B\\u8BD5\\u548C\\u4E0A\\u4E91\\u53EF\\u6301\\u7EED\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u504F\\u540E\\u7AEF\\u7684\\u5E95\\u5C42\\u7684\\u67B6\\u6784\\uFF0C\\u4F7F\\u7528\\u8F83\\u5168\\u7684\\u5355\\u5143\\u6D4B\\u8BD5\\u4FDD\\u8BC1\\u4EE3\\u7801\\u8D28\\u91CF\\uFF0C\\u81EA\\u52A8\\u751F\\u6210\\u6587\\u6863\\u6765\\u4FDD\\u8BC1\\u534F\\u4F5C\\u3002\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u4E2D\\u95F4\\u4EF6\\u4F7F\\u7528 php \\u6765\\u642D\\u5EFA\\u63A5\\u53E3\\u670D\\u52A1\\uFF0C\\u6BCF\\u4E2A\\u63A5\\u53E3\\u6709\\u5355\\u5143\\u6D4B\\u8BD5\\u548C\\u6027\\u80FD\\u6D4B\\u8BD5\\u3002\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u4F7F\\u7528\\u5BB9\\u5668\\u6765\\u642D\\u5EFA\\u4E0D\\u540C\\u4E1A\\u52A1\\u7684\\u5FAE\\u670D\\u52A1\\u3002\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u5BB9\\u5668\\u7684\\u5236\\u54C1\\u5E93\\u7EF4\\u62A4\\u548C\\u90E8\\u7F72\\u3002\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u4F7F\\u7528 VPN \\u7F51\\u7EDC\\u62C9\\u53D6\\u5236\\u54C1\\u5E93\\uFF0C\\u7136\\u540E\\u6839\\u636E\\u90E8\\u7F72\\u8BA1\\u5212\\u4E0A\\u7EBF\\u670D\\u52A1\\u3002\")), mdx(\"h3\", null, \"3. \\u5BA2\\u6237\\u7AEF\\u7684\\u53EF\\u6301\\u7EED\\u6784\\u5EFA\\u548C\\u53D1\\u5E03\"), mdx(\"p\", null, \"\\u5B89\\u5353\\u3001IOS\\u3001H5 \\u4EE5\\u53CA Flutter \\u7684\\u6BCF\\u65E5\\u7248\\u672C\\u63D0\\u6D4B\\uFF0C\\u91CC\\u7A0B\\u7891\\u7248\\u672C\\u6253\\u5305\\u7B49\\u3002\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u6BCF\\u4E2A\\u5F00\\u53D1\\u4FDD\\u8BC1\\u6BCF\\u65E5\\u5408\\u5E76\\u7684\\u5206\\u652F\\u90FD\\u662F\\u53EF\\u7F16\\u8BD1\\u7684\\uFF0C\\u90E8\\u5206\\u5F00\\u53D1\\u63D0\\u4EA4\\u540E\\u9700\\u8981\\u4EE3\\u7801\\u8BC4\\u5BA1\\u518D\\u5408\\u5E76\\u5230\\u6D4B\\u8BD5\\u5206\\u652F\\uFF1B\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u6BCF\\u65E5\\u51CC\\u6668\\u4E4B\\u540E\\u5B9A\\u65F6\\u89E6\\u53D1\\u6784\\u5EFA\\uFF0C\\u7136\\u540E\\u8FD0\\u884C\\u6BCF\\u4E2A\\u9879\\u76EE\\u7684\\u6D4B\\u8BD5\\uFF0C\\u6CA1\\u95EE\\u9898\\u4E4B\\u540E\\u7F16\\u8BD1\\u51FA\\u6D4B\\u8BD5\\u7248\\u672C\\uFF0C\\u6253\\u5305\\u6210\\u5236\\u54C1\\u63A8\\u9001\\u5230\\u5236\\u54C1\\u5E93\\uFF0C\\u81EA\\u52A8\\u90E8\\u7F72\\u5230\\u5185\\u7F51\\u6D4B\\u8BD5\\u73AF\\u5883\\uFF0C\\u7136\\u540E\\u7ED9\\u6D4B\\u8BD5\\u4EBA\\u5458\\u53D1\\u9001\\u63D0\\u6D4B\\u901A\\u77E5\\u548C\\u76F8\\u5173\\u66F4\\u65B0\\u65E5\\u5FD7\\u3002\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u6D4B\\u8BD5\\u4EBA\\u5458\\u4F7F\\u7528\\u63A5\\u53E3\\u670D\\u52A1\\u548C\\u5BA2\\u6237\\u7AEF\\u8FDB\\u884C\\u4EBA\\u5DE5\\u76F8\\u5173\\u6D4B\\u8BD5\\u7528\\u4F8B\\u6D4B\\u8BD5\\uFF0C\\u7136\\u540E\\u53CD\\u9988\\u5230 bug \\u4EFB\\u52A1\\u4E2D\\u3002\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u5F00\\u53D1\\u518D\\u6839\\u636E bug \\u7684\\u7D27\\u6025\\u7A0B\\u5EA6\\u6392\\u671F\\uFF0C\\u4ECE\\u4EFB\\u52A1\\u5217\\u8868\\u4E2D\\u5F00\\u59CB\\u5F00\\u53D1\\u4EFB\\u52A1\\u3002\")), mdx(\"h3\", null, \"4. \\u53EF\\u6301\\u7EED\\u7684\\u6D41\\u7A0B\\u7B2C\\u4E00\\u8FD8\\u662F\\u8FED\\u4EE3\\u901F\\u5EA6\\u7B2C\\u4E00\"), mdx(\"p\", null, \"\\u8FD9\\u4E9B\\u6B65\\u9AA4\\u5E76\\u4E0D\\u662F\\u4E25\\u683C\\u7684\\uFF0C\\u9047\\u5230\\u4E00\\u4E9B\\u7279\\u6B8A\\u60C5\\u51B5\\u53EF\\u80FD\\u67D0\\u4E9B\\u73AF\\u8282\\u88AB\\u8DF3\\u8FC7\\uFF0C\\u4F46\\u662F\\u5927\\u90E8\\u5206\\u60C5\\u51B5\\u6267\\u884C\\u8FD9\\u4E2A\\u6D41\\u7A0B\\uFF0C\\u7B97\\u662F\\u53EF\\u6301\\u7EED\\u7684\\u4E00\\u4E2A\\u5B9E\\u8DF5\\uFF0C\\u76EE\\u7684\\u4E5F\\u662F\\u4E3A\\u4E86\\u4FDD\\u8BC1\\u4E25\\u683C\\u7684\\u4EE3\\u7801\\u8D28\\u91CF\\uFF0C\\u4E0D\\u4F1A\\u51FA\\u73B0\\u79EF\\u538B\\u5F88\\u4E45\\u7684\\u4E25\\u91CD\\u95EE\\u9898\\u3002\"), mdx(\"p\", null, \"\\u4E3A\\u4E86\\u4FDD\\u8BC1\\u5F00\\u53D1\\u8FDB\\u5EA6\\uFF0C\\u5F88\\u591A\\u65F6\\u5019\\u4E00\\u4E9B\\u521A\\u63A5\\u624B\\u7684\\u4EBA\\u4F1A\\u89C9\\u5F97\\u8FD9\\u4E9B\\u5F88\\u9EBB\\u70E6\\uFF0C\\u8BF4\\u8981\\u5FEB\\u901F\\u8FED\\u4EE3\\uFF0C\\u53EF\\u80FD\\u4E0D\\u4F1A\\u5408\\u5E76\\u5230\\u6D4B\\u8BD5\\u5206\\u652F\\uFF0C\\u6216\\u8005\\u4E0D\\u4F1A\\u505A\\u5355\\u5143\\u6D4B\\u8BD5\\uFF0C\\u8981\\u6743\\u9650\\u4E0D\\u53BB\\u505A\\u4EE3\\u7801\\u8BC4\\u5BA1\\uFF0C\\u6574\\u4E2A\\u53EF\\u6301\\u7EED\\u6D41\\u7A0B\\u4E5F\\u5E76\\u6CA1\\u6709\\u4E25\\u683C\\u7684\\u9650\\u5236\\u8FD9\\u4E9B\\u884C\\u4E3A\\uFF0C\\u4F46\\u662F\\u6D41\\u7A0B\\u6B63\\u4E49\\u672C\\u8EAB\\u5E76\\u4E0D\\u662F\\u9650\\u5236\\u901F\\u5EA6\\u7684\\uFF0C\\u800C\\u662F\\u7528\\u56FA\\u5B9A\\u7684\\u6D41\\u7A0B\\u4F18\\u5316\\u6548\\u7387\\u548C\\u8D28\\u91CF\\u7684\\u5E73\\u8861\\uFF0C\\u53EF\\u6301\\u7EED\\u7684\\u610F\\u4E49\\u6240\\u5728\\uFF0C\\u6240\\u4EE5\\u6BCF\\u6B21\\u5F00\\u4F1A\\u7684\\u65F6\\u5019\\u90FD\\u4F1A\\u5F3A\\u8C03\\u6D41\\u7A0B\\u548C\\u4E13\\u4E1A\\uFF0C\\u8FD9\\u5BF9\\u6BCF\\u4E2A\\u4EBA\\u548C\\u516C\\u53F8\\u6765\\u8BF4\\u90FD\\u975E\\u5E38\\u91CD\\u8981\\u3002\"), mdx(\"h2\", null, \"\\u4E09\\u3001\\u53EF\\u6301\\u7EED\\u7684\\u610F\\u4E49\"), mdx(\"p\", null, \"\\u53EF\\u9760\\uFF0C\\u548C\\u6301\\u7EED\\u53EF\\u9760\\u3002\"));\n}\n;\nMDXContent.isMDXComponent = true;"},"next":{"fileAbsolutePath":"D:/ubug/storybook/content/blog/database-and-sql/database-and-sql.md","id":"ab0ef5c6-d8c2-5d3a-b4d2-9a7ad1aaf49e","parent":{"name":"database-and-sql","sourceInstanceName":"blog"},"excerpt":"想分享的是数据库相关的基本知识和 SQL 的相关概念，完备的回顾下相关能力，温故知新~~~ 刚开始写代码自学的时候，目的就是做网站，所以接触了很多的后台 PHP 和数据库相关的能力，工作中很长一段也承担了中间层和后台管理系统的搭建，所以可以说挺熟悉的。但是没有完备系统的整理过数据库的相关能力，平时 SQL 查询没问题，但是一旦跟别人讨论就变得没法十分确定了，这里整理一下，温故知新~ 一、数据库 Database、DB 是数据库，我们平时叫的数据库，更多表示数据库管理系统（Database…","fields":{"title":"📃 数据库和 SQL","slug":"/blog/database-and-sql","description":"数据库在日常开发中接触很多，其中的存储思想和方法对于数据和接口的理解大有裨益，虽然很多端侧开发可能不会直接接触，但是系统的了解下是很有必要的。","date":"2020-04-10","redirects":null,"datetime":"2020-04-10 20:49:53","categories":["code"],"series":null,"tags":["SQL","整理","数据库"],"status":"online"},"frontmatter":{"published":null,"tags":["SQL","整理","数据库"],"theme":null,"slug":"database-and-sql","date":"2020-04-10 20:49:53"},"body":"const _excluded = [\"components\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }\n/* @jsx mdx */\n\nconst _frontmatter = {\n  \"slug\": \"database-and-sql\",\n  \"title\": \"📃 数据库和 SQL\",\n  \"date\": \"2020-04-10 20:49:53\",\n  \"author\": \"Ubug\",\n  \"description\": \"数据库在日常开发中接触很多，其中的存储思想和方法对于数据和接口的理解大有裨益，虽然很多端侧开发可能不会直接接触，但是系统的了解下是很有必要的。\",\n  \"categories\": [\"code\"],\n  \"tags\": [\"SQL\", \"整理\", \"数据库\"],\n  \"banner\": \"./banner.png\"\n};\nconst makeShortcode = name => function MDXDefaultShortcode(props) {\n  console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n  return mdx(\"div\", props);\n};\nconst layoutProps = {\n  _frontmatter\n};\nconst MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  let {\n      components\n    } = _ref,\n    props = _objectWithoutProperties(_ref, _excluded);\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"hr\", null), mdx(\"blockquote\", null, mdx(\"p\", {\n    parentName: \"blockquote\"\n  }, \"\\u60F3\\u5206\\u4EAB\\u7684\\u662F\\u6570\\u636E\\u5E93\\u76F8\\u5173\\u7684\\u57FA\\u672C\\u77E5\\u8BC6\\u548C SQL \\u7684\\u76F8\\u5173\\u6982\\u5FF5\\uFF0C\\u5B8C\\u5907\\u7684\\u56DE\\u987E\\u4E0B\\u76F8\\u5173\\u80FD\\u529B\\uFF0C\\u6E29\\u6545\\u77E5\\u65B0~~~\")), mdx(\"hr\", null), mdx(\"p\", null, \"\\u521A\\u5F00\\u59CB\\u5199\\u4EE3\\u7801\\u81EA\\u5B66\\u7684\\u65F6\\u5019\\uFF0C\\u76EE\\u7684\\u5C31\\u662F\\u505A\\u7F51\\u7AD9\\uFF0C\\u6240\\u4EE5\\u63A5\\u89E6\\u4E86\\u5F88\\u591A\\u7684\\u540E\\u53F0 PHP \\u548C\\u6570\\u636E\\u5E93\\u76F8\\u5173\\u7684\\u80FD\\u529B\\uFF0C\\u5DE5\\u4F5C\\u4E2D\\u5F88\\u957F\\u4E00\\u6BB5\\u4E5F\\u627F\\u62C5\\u4E86\\u4E2D\\u95F4\\u5C42\\u548C\\u540E\\u53F0\\u7BA1\\u7406\\u7CFB\\u7EDF\\u7684\\u642D\\u5EFA\\uFF0C\\u6240\\u4EE5\\u53EF\\u4EE5\\u8BF4\\u633A\\u719F\\u6089\\u7684\\u3002\\u4F46\\u662F\\u6CA1\\u6709\\u5B8C\\u5907\\u7CFB\\u7EDF\\u7684\\u6574\\u7406\\u8FC7\\u6570\\u636E\\u5E93\\u7684\\u76F8\\u5173\\u80FD\\u529B\\uFF0C\\u5E73\\u65F6 SQL \\u67E5\\u8BE2\\u6CA1\\u95EE\\u9898\\uFF0C\\u4F46\\u662F\\u4E00\\u65E6\\u8DDF\\u522B\\u4EBA\\u8BA8\\u8BBA\\u5C31\\u53D8\\u5F97\\u6CA1\\u6CD5\\u5341\\u5206\\u786E\\u5B9A\\u4E86\\uFF0C\\u8FD9\\u91CC\\u6574\\u7406\\u4E00\\u4E0B\\uFF0C\\u6E29\\u6545\\u77E5\\u65B0~\"), mdx(\"h2\", null, \"\\u4E00\\u3001\\u6570\\u636E\\u5E93\"), mdx(\"p\", null, \"Database\\u3001DB \\u662F\\u6570\\u636E\\u5E93\\uFF0C\\u6211\\u4EEC\\u5E73\\u65F6\\u53EB\\u7684\\u6570\\u636E\\u5E93\\uFF0C\\u66F4\\u591A\\u8868\\u793A\\u6570\\u636E\\u5E93\\u7BA1\\u7406\\u7CFB\\u7EDF\\uFF08Database Management System\\uFF0CDBMS\\uFF09\\uFF0C\\u4F8B\\u5982 Mysql\\u3001Sqlite\\u3001Oracle\\u3001dBASE\\u3001PostgreSQL \\u7B49\\u7B49\\u975E\\u5E38\\u591A\\u3002\"), mdx(\"p\", null, \"\\u6570\\u636E\\u5E93\\u7684\\u6982\\u5FF5\\u5176\\u5B9E\\u53EA\\u8981\\u80FD\\u591F\\u7CFB\\u7EDF\\u7684\\u5B58\\u50A8\\u548C\\u8BFB\\u53D6\\u6570\\u636E\\u5C31\\u80FD\\u88AB\\u79F0\\u4E3A\\u6570\\u636E\\u5E93\\uFF0C\\u4F8B\\u5982\\u5F3A\\u8FEB\\u75C7\\u7684\\u786C\\u76D8\\uFF0C\\u5206\\u95E8\\u522B\\u7C7B\\u7684\\u5B58\\u50A8\\u5404\\u79CD\\u6587\\u4EF6\\uFF0C\\u60F3\\u627E\\u67D0\\u4E2A\\u8D44\\u6599\\uFF0C\\u4E09\\u4E24\\u4E0B\\u70B9\\u51FB\\u5C31\\u80FD\\u627E\\u51FA\\u6765\\uFF0C\\u8FD9\\u4E5F\\u7B97\\u662F\\u4E00\\u4E2A\\u6570\\u636E\\u5E93\\u3002\\u8FD9\\u4E2A\\u4E8B\\u60C5\\u4EA4\\u7ED9\\u7A0B\\u5E8F\\u505A\\uFF0C\\u80FD\\u591F\\u66F4\\u5FEB\\u66F4\\u597D\\u7684\\u65B0\\u589E\\u3001\\u66F4\\u65B0\\u3001\\u67E5\\u8BE2\\u3001\\u5220\\u9664\\u7B49\\u64CD\\u4F5C\\uFF0C\\u6D89\\u53CA\\u5230\\u5B58\\u50A8\\u8BBE\\u8BA1\\u3001\\u5065\\u58EE\\u53EF\\u9760\\u6027\\u3001\\u7B97\\u6CD5\\u3001\\u5404\\u79CD\\u80FD\\u529B\\u3001\\u4EE3\\u6570\\u96C6\\u5408\\u6570\\u5B66\\u7B49\\u975E\\u5E38\\u591A\\u7684\\u8003\\u8651\\uFF0C\\u8FD9\\u662F\\u4E00\\u4E2A\\u6210\\u719F\\u6570\\u636E\\u5E93\\u7684\\u672C\\u8D28\\u3002\"), mdx(\"h3\", null, \"1.1 \\u6570\\u636E\\u5E93\\u7684\\u5206\\u7C7B\"), mdx(\"p\", null, \"\\u4E00\\u822C\\u610F\\u4E49\\u4E0A\\u5206\\u7C7B\\u4E3B\\u8981\\u8BF4\\u7684\\u662F \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"\\u5173\\u7CFB\\u578B\\u6570\\u636E\\u5E93\"), \"(Relational database) \\u548C \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"\\u975E\\u5173\\u7CFB\\u578B\\u6570\\u636E\\u5E93\"), \"(Not Only SQL) \\u7B49\\uFF0C\\u8FD9\\u91CC\\u4E5F\\u4E0D\\u5EF6\\u4F38\\u5176\\u4ED6\\u7C7B\\u578B\\u7684\\u5B58\\u50A8\\u5206\\u7C7B\\u3002\"), mdx(\"h4\", null, \"1.1.1 \\u5173\\u7CFB\\u578B\\u6570\\u636E\\u5E93\"), mdx(\"p\", null, \"\\u5173\\u7CFB\\u578B\\u6570\\u636E\\u5E93\\u7684 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"\\u5173\\u7CFB\"), \" \\u4E3B\\u8981\\u6307\\u7684\\u662F\\u6570\\u636E\\u4E4B\\u95F4\\u7684\\u5173\\u7CFB\\u6A21\\u578B\\uFF0C\\u7528\\u7ED3\\u6784\\u5316\\u7684\\u4FE1\\u606F\\u5B58\\u50A8\\u65B9\\u5F0F\\u6765\\u5B89\\u6392\\u6570\\u636E\\u7684\\u5B58\\u50A8\\uFF0C\\u4E5F\\u5C31\\u662F\\u901A\\u8FC7 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"\\u5B57\\u6BB5\"), \" \\u548C \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"\\u8BB0\\u5F55\"), \" \\u4E24\\u4E2A\\u6982\\u5FF5\\u786E\\u5B9A\\u6BCF\\u4E00\\u4E2A\\u6570\\u636E\\uFF0C\\u6BD4\\u5982\\u73ED\\u7EA7\\u6210\\u7EE9\\u7684\\u6570\\u636E\\uFF0C\\u5C31\\u53EF\\u4EE5\\u7528 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"\\u5C0F\\u660E(\\u8BB0\\u5F55)\\u7684\\u8BED\\u6587\\u6210\\u7EE9(\\u5B57\\u6BB5)\"), \"\\uFF0C\\u6765\\u627E\\u5230\\u5177\\u4F53\\u7684\\u6570\\u503C\\u3002\"), mdx(\"p\", null, \"\\u5173\\u7CFB\\u578B\\u6570\\u636E\\u5E93\\u7684\\u7406\\u89E3\\u548C\\u4F7F\\u7528\\u975E\\u5E38\\u7B80\\u5355\\uFF0C\\u5B58\\u50A8\\u5173\\u7CFB\\u4E5F\\u66F4\\u5BB9\\u6613\\u5B9E\\u73B0\\uFF0C\\u6240\\u4EE5\\u76EE\\u524D\\u5927\\u591A\\u6570\\u636E\\u5E93\\u90FD\\u662F\\u4F7F\\u7528\\u7684\\u8FD9\\u4E2A\\u6A21\\u578B\\u3002\"), mdx(\"p\", null, \"\\u6BD4\\u5982\\u7ECF\\u5178\\u7684 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"Mysql\"), \" \\u4F34\\u968F\\u7740 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"PHP\"), \" \\u7684\\u53D1\\u5C55\\u5728 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"Web2.0\"), \" \\u9AD8\\u901F\\u53D1\\u5C55\\u7684\\u9636\\u6BB5\\u88AB\\u5E7F\\u6CDB\\u8FD0\\u7528\\uFF0C\\u76F4\\u81F3\\u73B0\\u5728\\u4F9D\\u7136\\u5360\\u636E\\u5F88\\u5927\\u7684\\u5E02\\u573A\\u3002\"), mdx(\"p\", null, \"\\u5173\\u7CFB\\u578B\\u6570\\u636E\\u5E93 \\u548C\\u5176\\u5BF9\\u5E94\\u7684\\u67E5\\u8BE2\\u8BED\\u8A00 SQL \\u4E5F\\u662F\\u672C\\u7BC7\\u6587\\u7AE0\\u91CD\\u70B9\\u8BA8\\u8BBA\\u7684\\u5185\\u5BB9\\u3002\"), mdx(\"h4\", null, \"1.1.2 NoSQL\"), mdx(\"p\", null, \"\\u975E\\u5173\\u7CFB\\u578B\\u6570\\u636E\\u5E93\\u7684\\u6982\\u5FF5\\u6BD4\\u8F83\\u5BBD\\u6CDB\\uFF0C\\u800C\\u4E14\\u5B9E\\u73B0\\u548C\\u4FA7\\u91CD\\u90FD\\u6709\\u4E0D\\u540C\\uFF0C\\u76EE\\u524D\\u6765\\u8BF4 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"\\u975E\\u5173\\u7CFB\"), \" \\u5E76\\u4E0D\\u8868\\u793A\\u6CA1\\u6709\\u5173\\u7CFB\\uFF0C\\u800C\\u662F Not Only SQL \\uFF0C\\u4E0D\\u4EC5\\u4EC5\\u8868\\u793A\\u5173\\u7CFB\\u7684\\u610F\\u601D\\uFF0C\\u5927\\u90E8\\u5206\\u7279\\u70B9\\u5728\\u4E8E\\u975E\\u5173\\u7CFB\\u578B\\u3001\\u5206\\u5E03\\u5F0F\\u3001\\u5F00\\u6E90\\u3001\\u6C34\\u5E73\\u53EF\\u6269\\u5C55\\u3001\\u9AD8\\u8BFB\\u589E\\u6027\\u80FD\\u3002\"), mdx(\"p\", null, \"\\u73B0\\u4EE3\\u4E92\\u8054\\u7F51\\u7684\\u53D1\\u5C55\\uFF0C\\u5BFC\\u81F4\\u6570\\u636E\\u91CF\\u5927\\u5E45\\u4E0A\\u5347\\uFF0C\\u4F20\\u7EDF\\u7684\\u5173\\u7CFB\\u578B\\u6570\\u636E\\u5E93\\u7531\\u4E8E\\u9700\\u8981\\u4FDD\\u8BC1\\u8054\\u5408\\u67E5\\u8BE2\\u548C\\u4E00\\u81F4\\u6027\\uFF0C\\u89C4\\u8303\\u5DF2\\u7ECF\\u4E0D\\u80FD\\u6EE1\\u8DB3\\u4F7F\\u7528\\u9700\\u6C42\\u4E86\\u3002\\u5305\\u62EC\\u5206\\u5E03\\u5F0F\\u3001\\u4E3B\\u4ECE\\u3001\\u51B7\\u70ED\\u591A\\u5730\\u7B49\\u624B\\u6BB5\\u6EE1\\u8DB3\\u4F7F\\u7528\\uFF0C\\u4F46\\u662F\\u7EF4\\u62A4\\u6027\\u548C\\u6269\\u5C55\\u6027\\u4E5F\\u5728\\u964D\\u4F4E\\u3002\\u6570\\u636E\\u7684\\u5B58\\u50A8\\u9700\\u6C42\\u613F\\u610F\\u727A\\u7272\\u4E00\\u90E8\\u5206\\u4F53\\u9A8C\\u6765\\u83B7\\u5F97\\u53E6\\u4E00\\u90E8\\u5206\\u7684\\u80FD\\u529B\\u63D0\\u5347\\uFF0C\\u6BD4\\u5982\", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"\\u9AD8\\u6027\\u80FD\\u5E76\\u53D1\\u8BFB\\u5199\"), \"\\u3001\", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"\\u6D77\\u91CF\\u6570\\u636E\\u8BBF\\u95EE\"), \"\\u3001\", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"\\u53EF\\u62D3\\u5C55\\u6027\\u5206\\u5E03\\u5F0F\"), \"\\u7B49\\u90FD\\u662F\\u65B0\\u7684\\u9700\\u6C42\\u3002\"), mdx(\"p\", null, \"\\u8FD9\\u4E9B\\u65B0\\u9700\\u6C42\\u4E0B\\u7684\\u6570\\u636E\\u5E93\\u5F62\\u5F0F\\u5C31\\u662F\\u4EE5 Redis \\u548C MongoDB \\u4E3A\\u4EE3\\u8868\\u7684\\u8FD9\\u4E9B\\u4EA7\\u54C1\\uFF0C\\u5927\\u591A\\u5F00\\u6E90\\u6027\\u80FD\\u597D\\uFF0C\\u80FD\\u591F\\u6EE1\\u8DB3\\u5F88\\u591A\\u65B0\\u7684\\u5B58\\u50A8\\u9700\\u6C42\\u3002\"), mdx(\"p\", null, \"\\u5728\\u8BFB\\u53D6\\u548C\\u65B0\\u589E\\u6570\\u636E\\u4E0A\\u6027\\u80FD\\u66F4\\u597D\\u3002\\u4F46\\u662F\\u5728\\u727A\\u7272\\u6BD4\\u5982\\u4E00\\u81F4\\u6027\\u3001\\u67E5\\u8BE2\\u6027\\u80FD\\u7684\\u6761\\u4EF6\\u4E0B\\uFF0C\\u9762\\u5BF9\\u590D\\u6742\\u7EDF\\u8BA1\\u3001\\u4E00\\u81F4\\u6027\\u3001\\u4E8B\\u52A1\\u652F\\u6301\\u7B49\\u9700\\u6C42\\u65F6\\uFF0C\\u81EA\\u7136\\u6CA1\\u6709\\u5173\\u7CFB\\u578B\\u66F4\\u597D\\u3002\"), mdx(\"p\", null, \"\\u6240\\u4EE5\\u65E0\\u8BBA\\u662F\\u5173\\u7CFB\\u578B\\u8FD8\\u662F\\u975E\\u5173\\u7CFB\\u578B\\u6570\\u636E\\u5E93\\uFF0C\\u9002\\u5408\\u4E1A\\u52A1\\u7684\\u624D\\u662F\\u6B63\\u786E\\u7684\\u9009\\u62E9\\uFF0C\\u6838\\u5FC3\\u9700\\u8981\\u4E00\\u81F4\\u6027\\u3001\\u8F83\\u5C0F\\u91CF\\u7684\\u6570\\u636E\\u53EF\\u4EE5\\u7528\\u5173\\u7CFB\\u578B\\uFF0C\\u975E\\u7ED3\\u6784\\u5316\\u6570\\u636E\\u548C\\u6027\\u80FD\\u8981\\u6C42\\u8F83\\u9AD8\\u7684\\u53EF\\u4EE5\\u8003\\u8651\\u975E\\u5173\\u7CFB\\u578B\\u6570\\u636E\\u5E93\\u3002\"), mdx(\"h3\", null, \"1.2 \\u73B0\\u4EE3\\u6570\\u636E\\u5E93\\u7684\\u6311\\u6218\"), mdx(\"p\", null, \"\\u8FD9\\u4E9B\\u90FD\\u4E0D\\u5728\\u5C55\\u5F00\\u4E86\\uFF0C\\u90FD\\u5F88\\u5BB9\\u6613\\u7406\\u89E3\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u6D77\\u91CF\\u6570\\u636E\\u548C\\u5206\\u5E03\\u5F0F\\u5B58\\u50A8\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u9AD8\\u5E76\\u53D1\\u8BFB\\u5199\\u548C\\u6027\\u80FD\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u6613\\u6269\\u5C55\\u548C\\u7075\\u6D3B\\u7684\\u6570\\u636E\\u6A21\\u578B\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u9AD8\\u53EF\\u7528\")), mdx(\"p\", null, \"\\u8FD9\\u4E9B\\u5143\\u7D20\\u662F\\u65B0\\u7684\\u9700\\u6C42\\uFF0C\\u5728\\u8FD9\\u4E9B\\u9700\\u6C42\\u4E0B\\u6EE1\\u8DB3 ACID \\u7684\\u8981\\u7D20\\u662F\\u96BE\\u70B9\\uFF1A\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Atomicity \\u539F\\u5B50\\u6027\"), \"\\uFF1A\\u6307\\u4E8B\\u52A1\\u662F\\u4E00\\u4E2A\\u4E0D\\u53EF\\u518D\\u5206\\u5272\\u7684\\u5DE5\\u4F5C\\u5355\\u5143\\uFF0C\\u4E8B\\u52A1\\u4E2D\\u7684\\u64CD\\u4F5C\\u8981\\u4E48\\u90FD\\u53D1\\u751F\\uFF0C\\u8981\\u4E48\\u90FD\\u4E0D\\u53D1\\u751F\\u3002\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Consistency \\u4E00\\u81F4\\u6027\"), \"\\uFF1A\\u4E8B\\u52A1\\u5F00\\u59CB\\u4E4B\\u524D\\u548C\\u4E8B\\u52A1\\u7ED3\\u675F\\u4EE5\\u540E\\uFF0C\\u6570\\u636E\\u5E93\\u7684\\u5B8C\\u6574\\u6027\\u7EA6\\u675F\\u6CA1\\u6709\\u88AB\\u7834\\u574F\\u3002\\u8FD9\\u662F\\u8BF4\\u6570\\u636E\\u5E93\\u4E8B\\u52A1\\u4E0D\\u80FD\\u7834\\u574F\\u5173\\u7CFB\\u6570\\u636E\\u7684\\u5B8C\\u6574\\u6027\\u4EE5\\u53CA\\u4E1A\\u52A1\\u903B\\u8F91\\u4E0A\\u7684\\u4E00\\u81F4\\u6027\\u3002\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Isolation \\u9694\\u79BB\\u6027\"), \"\\uFF1A\\u591A\\u4E2A\\u4E8B\\u52A1\\u5E76\\u53D1\\u8BBF\\u95EE\\u65F6\\uFF0C\\u4E8B\\u52A1\\u4E4B\\u95F4\\u662F\\u9694\\u79BB\\u7684\\uFF0C\\u4E00\\u4E2A\\u4E8B\\u52A1\\u4E0D\\u5E94\\u8BE5\\u5F71\\u54CD\\u5176\\u5B83\\u4E8B\\u52A1\\u8FD0\\u884C\\u6548\\u679C\\u3002\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Durability \\u6301\\u4E45\\u6027\"), \"\\uFF1A\\u5BF9\\u6570\\u636E\\u5E93\\u6240\\u4F5C\\u7684\\u66F4\\u6539\\u4FBF\\u6301\\u4E45\\u7684\\u4FDD\\u5B58\\u5728\\u6570\\u636E\\u5E93\\u4E4B\\u4E2D\\u3002\")), mdx(\"h2\", null, \"\\u4E8C\\u3001\\u6570\\u636E\\u5E93\\u7684\\u6F14\\u8FDB\"), mdx(\"p\", null, \"\\u518D\\u591A\\u7684\\u7406\\u8BBA\\u4E5F\\u4E0D\\u5982\\u5B9E\\u4F8B\\u6F14\\u8FDB\\u770B\\u8D77\\u6765\\u8212\\u670D\\uFF0C\\u4EE5\\u901A\\u5E38\\u7684\\u7535\\u5546\\u4E1A\\u52A1\\u4E3A\\u4F8B\\u3002\"), mdx(\"h3\", null, \"1. \\u5355\\u673A\\u670D\\u52A1\"), mdx(\"p\", null, \"\\u65E0\\u8BBA\\u4EC0\\u4E48\\u65F6\\u5019\\uFF0C\\u5982\\u679C\\u4F60\\u7684\\u4E1A\\u52A1\\u73B0\\u5728\\u53EF\\u63A7\\uFF0C\\u5355\\u673A\\u670D\\u52A1\\u6C38\\u8FDC\\u662F\\u6700\\u5FEB\\u7684\\u5B9E\\u73B0\\u8DEF\\u5F84\\u3002\"), mdx(\"p\", null, \"\\u4E00\\u4E2A\\u6570\\u636E\\u5E93\\u5305\\u542B\\u4E86\\u7528\\u6237\\u3001\\u5546\\u54C1\\u3001\\u8BA2\\u5355\\u7B49\\u6570\\u636E\\u8868\\uFF0C\\u7075\\u6D3B\\u53EF\\u63A7\\uFF0C\\u67E5\\u8BE2\\u548C\\u5199\\u5165\\u90FD\\u4E0D\\u4F1A\\u6D89\\u53CA\\u5230\\u590D\\u6742\\u7684\\u529F\\u80FD\\u3002\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\"\n  }, \"->\\n          +------------------------------------------------------------------+\\n          |  SERVER                                                          |\\n          |  +---------------------------------------+     +--------------+  |\\n          |  | DB                                    |     |  API Server  |  |\\n          |  | +------+  +-------+  +--------+       |     |              |  |\\n          |  | | user |  | goods |  | trades |       | +-> |  ......      |  |\\n          |  | |      |  |       |  |        |   ... |     |              |  |\\n          |  | |      |  |       |  |        |       | <-+ |              |  |\\n          |  | |      |  |       |  |        |       |     |              |  |\\n          |  | +------+  +-------+  +--------+       |     |              |  |\\n          |  +---------------------------------------+     +--------------+  |\\n          +------------------------------------------------------------------+\\n\")), mdx(\"p\", null, \"\\u6BCF\\u5929\\u7684\\u7528\\u6237\\u8BBF\\u95EE\\u5E76\\u4E0D\\u4F1A\\u5BF9\\u6570\\u636E\\u5E93\\u9020\\u6210\\u592A\\u5927\\u7684\\u538B\\u529B\\uFF0C\\u5728\\u53D1\\u5C55\\u521D\\u671F\\u8FD9\\u4E2A\\u9009\\u62E9\\u662F\\u6CA1\\u95EE\\u9898\\u7684\\u3002\"), mdx(\"h3\", null, \"2. \\u8BFB\\u5199\\u5206\\u79BB\"), mdx(\"p\", null, \"\\u67E5\\u8BE2\\u548C\\u5199\\u5165\\u5728\\u6570\\u636E\\u5E93\\u4E2D\\u662F\\u4E24\\u79CD\\u4E1A\\u52A1\\u5F62\\u6001\\uFF0C\\u67E5\\u8BE2\\u5927\\u90E8\\u5206\\u6BD4\\u5199\\u5165\\u591A\\u5F97\\u591A\\uFF0C\\u6240\\u4EE5\\u53EF\\u4EE5\\u8003\\u8651\\u5C06\\u67E5\\u8BE2\\u7684\\u6D41\\u91CF\\u62C6\\u5206\\uFF0C\\u4E5F\\u5C31\\u662F\\u6269\\u5C55\\u591A\\u4E2A\\u53EA\\u8BFB\\u6570\\u636E\\u5E93\\u4F5C\\u4E3A\\u4ECE\\u6570\\u636E\\u6E90\\uFF0C\\u4ECE\\u4E3B\\u6570\\u636E\\u5E93\\u540C\\u6B65\\u6570\\u636E\\u3002\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\"\n  }, \"->\\n        +-------------------------------+       +-------------------------------+\\n        |  SERVER MASTER                |       |  SERVER SLAVE 1 (READ ONLY)   |\\n        |  +-------------------------+  |       |  +-------------------------+  |\\n        |  | DB                      |  |       |  | DB                      |  |\\n        |  | +------+  +-------+     |  | +---> |  | +------+  +-------+     |  |\\n        |  | | user |  | goods |     |  |       |  | | user |  | goods |     |  |\\n        |  | |      |  |       | ... |  |       |  | |      |  |       | ... |  |\\n        |  | |      |  |       |     |  | <---+ |  | |      |  |       |     |  |\\n        |  | |      |  |       |     |  |       |  | |      |  |       |     |  |\\n        |  | +------+  +-------+     |  |       |  | +------+  +-------+     |  |\\n        |  +-------------------------+  |       |  +-------------------------+  |\\n        +-------------------------------+       +-------------------------------+\\n\")), mdx(\"p\", null, \"\\u8FD9\\u6837\\u80FD\\u591F\\u5C06\\u5F88\\u591A\\u7684\\u8BFB\\u67E5\\u8BE2\\u5206\\u5230\\u5F88\\u591A\\u7684\\u670D\\u52A1\\u5668\\u4E0A\\uFF0C\\u52A0\\u4E0A\\u8D1F\\u8F7D\\u5747\\u8861\\uFF0C\\u80FD\\u591F\\u6EE1\\u8DB3\\u4E1A\\u52A1\\u521D\\u671F\\u9636\\u6BB5\\u67E5\\u8BE2\\u8BF7\\u6C42\\u91CF\\u6FC0\\u589E\\u7684\\u95EE\\u9898\\uFF0C\\u7B97\\u662F\\u5206\\u5E03\\u5F0F\\u521D\\u7EA7\\u529F\\u80FD\\u3002\"), mdx(\"h3\", null, \"2. \\u5206\\u5E93\"), mdx(\"p\", null, \"\\u4E00\\u6BB5\\u65F6\\u95F4\\u540E\\u4E1A\\u52A1\\u91CF\\u4E0A\\u6765\\u4E86\\uFF0C\\u4EA4\\u6613\\u91CF\\u53D8\\u5927\\u4E86\\u3001\\u8BA2\\u5355\\u53D8\\u591A\\u4E86\\uFF0C\\u4E00\\u4E2A\\u670D\\u52A1\\u5668\\u6CA1\\u529E\\u6CD5\\u627F\\u8F7D\\u5B58\\u50A8\\u3001\\u8BA1\\u7B97\\u6216\\u8005\\u5E26\\u5BBD\\u4E86\\uFF0C\\u5C31\\u7B97\\u62C6\\u5206\\u8BFB\\u5199\\u4E5F\\u89E3\\u51B3\\u4E0D\\u4E86\\u6BCF\\u4E00\\u4E2A\\u5B9E\\u4F8B\\u90FD\\u5728\\u81A8\\u80C0\\u7684\\u95EE\\u9898\\u3002\"), mdx(\"p\", null, \"\\u8FD9\\u4E2A\\u65F6\\u5019\\u4E5F\\u5F88\\u5BB9\\u6613\\u7684\\u53D1\\u73B0\\uFF0C\\u5546\\u54C1\\u3001\\u7528\\u6237\\u548C\\u8BA2\\u5355\\u4E4B\\u95F4\\u7684\\u4E1A\\u52A1\\u5173\\u8054\\u6027\\u6CA1\\u6709\\u90A3\\u4E48\\u5927\\uFF0C\\u5305\\u62EC\\u4E2D\\u95F4\\u5C42\\u548C\\u6570\\u636E\\u5E93\\uFF0C\\u90FD\\u53EF\\u4EE5\\u62C6\\u5206\\u5230\\u4E0D\\u540C\\u7684\\u670D\\u52A1\\u5668\\u4E0A\\uFF0C\\u4EE5\\u6B64\\u5C06\\u603B\\u7684\\u8BF7\\u6C42\\u5206\\u522B\\u5206\\u6D41\\u5230\\u51E0\\u53F0\\u673A\\u5668\\u4E0A\\u3002\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\"\n  }, \"->\\n          +----------------+      +-----------------+     +------------------+\\n          |  SERVER 1      |      |  SERVER 2       |     |  SERVER 3        |\\n          |  +----------+  |      |  +-----------+  |     |  +------------+  |\\n          |  | DB       |  |      |  |  DB       |  |     |  |  DB        |  |\\n          |  | +------+ |  |      |  | +-------+ |  |     |  | +--------+ |  |\\n          |  | | user | |  |      |  | | goods | |  |     |  | | trades | |  |\\n          |  | |      | |  |      |  | |       | |  |     |  | |        | |  |\\n          |  | |      | |  |      |  | |       | |  |     |  | |        | |  |\\n          |  | |      | |  |      |  | |       | |  |     |  | |        | |  |\\n          |  | +------+ |  |      |  | +-------+ |  |     |  | +--------+ |  |\\n          |  +----------+  |      |  +-----------+  |     |  +------------+  |\\n          +----------------+      +-----------------+     +------------------+\\n\")), mdx(\"p\", null, \"\\u8FD9\\u6837\\u6211\\u4EEC\\u5728\\u4E1A\\u52A1\\u4E2D\\u7684\\u5F71\\u54CD\\u4E0D\\u4F1A\\u592A\\u5927\\uFF0C\\u6570\\u636E\\u7684\\u83B7\\u53D6\\u901A\\u8FC7\\u4E0D\\u540C\\u7684\\u63A5\\u53E3\\u6765\\u62FF\\uFF0C\\u8BF7\\u6C42\\u548C\\u67E5\\u8BE2\\u4E0D\\u4F1A\\u538B\\u5728\\u4E00\\u53F0\\u670D\\u52A1\\u5668\\u4E0A\\uFF0C\\u6B64\\u65F6\\u80FD\\u591F\\u6EE1\\u8DB3\\u6211\\u4EEC\\u7684\\u9700\\u6C42\\u4E86\\uFF0C\\u8FD9\\u4E5F\\u7B97\\u662F\\u5206\\u5E03\\u5F0F\\u7684\\u96CF\\u5F62\\u4E86\\u3002\"), mdx(\"h3\", null, \"3. \\u5206\\u8868\"), mdx(\"p\", null, \"\\u4E0D\\u540C\\u4E1A\\u52A1\\u7684\\u67E5\\u8BE2\\u8BF7\\u6C42\\u548C\\u8BA1\\u7B97\\u80FD\\u529B\\u4E0D\\u5728\\u5C40\\u9650\\u5728\\u4E00\\u53F0\\u673A\\u5668\\uFF0C\\u4F46\\u662F\\u597D\\u50CF\\u6570\\u636E\\u91CF\\u53D8\\u5927\\u7684\\u95EE\\u9898\\u4F9D\\u7136\\u6CA1\\u6709\\u89E3\\u51B3\\uFF0C\\u7528\\u6237\\u6CE8\\u518C\\u91CF\\u6FC0\\u589E\\u3001\\u4EA4\\u6613\\u8BB0\\u5F55\\u53D8\\u5927\\uFF0C\\u4E00\\u4E2A\\u6570\\u636E\\u8868\\u53D8\\u5F97\\u5DE8\\u957F\\u65E0\\u6BD4\\uFF0C\\u67E5\\u8BE2\\u6548\\u7387\\u4E5F\\u5F88\\u53D7\\u5F71\\u54CD\\u3002\"), mdx(\"p\", null, \"\\u4E8E\\u662F\\u6211\\u4EEC\\u5C06\\u540C\\u4E00\\u4E2A\\u6570\\u636E\\u8868\\u518D\\u62C6\\u5206\\u5230\\u4E0D\\u540C\\u7684\\u670D\\u52A1\\u5668\\u7684\\u4E0D\\u540C\\u6570\\u636E\\u5E93\\u4E2D\\uFF0C\\u7528 hash \\u7684\\u65B9\\u5F0F\\u6765\\u6620\\u5C04\\u67E5\\u8BE2\\uFF0C\\u6BD4\\u5982\\u7528\\u6237 id \\u5C3E\\u53F7\\u4E3A hash \\u51FD\\u6570\\uFF0C\\u80FD\\u591F\\u5C06\\u7528\\u6237\\u6570\\u636E\\u62C6\\u5206\\u5230 10 \\u4E2A\\u6570\\u636E\\u5E93\\u673A\\u5668\\u4E2D\\uFF0C\\u5206\\u522B\\u5206\\u62C5\\u6570\\u636E\\u91CF\\u548C\\u8BF7\\u6C42\\u67E5\\u8BE2\\u3002\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\"\n  }, \"->\\n+----------------+\\n| SERVER         |\\n|  +-----------+ |\\n|  | DB        | |          +----------------+   +-----------------+  +-----------------+\\n|  | +-------+ | |          |  SERVER 1      |   |  SERVER 2       |  |  SERVER 3       |\\n|  | | user1 | | |          |  +-----------+ |   |  +-----------+  |  |  +-----------+  |\\n|  | |       | | |          |  | DB        | |   |  |  DB       |  |  |  |  DB       |  |\\n|  | |       | | |          |  | +-------+ | |   |  | +-------+ |  |  |  | +-------+ |  |\\n|  | |       | | | +------> |  | | user1 | | |   |  | | user2 | |  |  |  | | user3 | |  |\\n|  | |       | | |          |  | |       | | |   |  | |       | |  |  |  | |       | |  |\\n|  | |       | | |          |  | |       | | |   |  | |       | |  |  |  | |       | |  |\\n|  | |       | | |          |  | |       | | |   |  | |       | |  |  |  | |       | |  |\\n|  | |       | | |          |  | +-------+ | |   |  | +-------+ |  |  |  | +-------+ |  |\\n|  | |       | | |          |  +-----------+ |   |  +-----------+  |  |  +-----------+  |\\n|  | | ...   | | |          +----------------+   +-----------------+  +-----------------+\\n|  | | ...   | | |          \\n|  | +-------+ | |\\n|  +-----------+ |\\n+----------------+\\n\")), mdx(\"p\", null, \"\\u8FD9\\u6837\\u6211\\u4EEC\\u5C31\\u5C06\\u6574\\u4E2A\\u6570\\u636E\\u5E93\\u4ECE\\u5355\\u53F0\\u673A\\u5668\\uFF0C\\u53D8\\u6210\\u4E86\\u7528\\u6237\\u4FE1\\u606F\\u5206\\u5E03\\u5230\\u4E86\\u4E0D\\u540C\\u7684\\u670D\\u52A1\\u5668\\u7684\\u4E0D\\u540C\\u6570\\u636E\\u8868\\u4E2D\\uFF0C\\u8FD9\\u5DF2\\u7ECF\\u662F\\u4E00\\u4E2A\\u6807\\u51C6\\u7684\\u5206\\u5E03\\u5F0F\\u5E94\\u7528\\u4E86\\uFF0C\\u67E5\\u8BE2\\u74F6\\u9888\\u7684\\u95EE\\u9898\\u5F88\\u81EA\\u7136\\u7684\\u80FD\\u6C34\\u5E73\\u964D\\u89E3\\uFF0C\\u518D\\u6709\\u6027\\u80FD\\u95EE\\u9898\\u53EA\\u9700\\u8981\\u6DFB\\u52A0\\u673A\\u5668\\u5C31\\u80FD\\u89E3\\u51B3\\u3002\\u4E0D\\u8FC7\\u67B6\\u6784\\u590D\\u6742\\u5EA6\\u5728\\u589E\\u5927\\uFF0C\\u7A33\\u5B9A\\u6027\\u5728\\u964D\\u4F4E\\uFF0C\\u8FD9\\u662F\\u65E0\\u6CD5\\u907F\\u514D\\u7684\\u95EE\\u9898\\u3002\"), mdx(\"h3\", null, \"4. \\u4E2D\\u95F4\\u4EF6/\\u6570\\u636E\\u8BBF\\u95EE\\u5C42/\\u67E5\\u8BE2\\u5206\\u53D1\\u5C42\"), mdx(\"p\", null, \"\\u5728\\u8FD9\\u4E2A\\u8282\\u70B9\\uFF0C\\u6570\\u636E\\u5E93\\u7684\\u4E1A\\u52A1\\u5F62\\u6001\\u5DF2\\u7ECF\\u548C\\u4F20\\u7EDF\\u7684\\u5F88\\u4E0D\\u4E00\\u6837\\u4E86\\uFF0C\\u6240\\u4EE5\\u4E3A\\u4E86\\u66F4\\u597D\\u7684\\u7406\\u89E3\\u8FD9\\u79CD\\u65B0\\u7684\\u5206\\u5E03\\u5F0F\\u6570\\u636E\\uFF0C\\u7A33\\u5B9A\\u4E1A\\u52A1\\u7684\\u5F00\\u53D1\\u5FC3\\u667A\\u8D1F\\u62C5\\uFF0C\\u62BD\\u8C61\\u4E86\\u4E2D\\u95F4\\u4EF6\\u7684\\u6982\\u5FF5\\uFF0C\\u5C06\\u5206\\u5E03\\u5F0F\\u7684\\u7EC6\\u8282\\u9690\\u85CF\\u5728\\u5E95\\u5C42\\u7684\\u914D\\u7F6E\\u4E2D\\uFF0C\\u540C\\u65F6\\u6DFB\\u52A0\\u8D1F\\u8F7D\\u5747\\u8861\\u3001\\u62C6\\u5206\\u89C4\\u5219\\u3001\\u7EF4\\u62A4\\u7B49\\u529F\\u80FD\\u3002\\u4E00\\u5B9A\\u7A0B\\u5EA6\\u4E0A\\u5C01\\u88C5\\u4E86\\u5F00\\u53D1\\u548C\\u4E1A\\u52A1\\u4E2D\\u5BF9\\u6570\\u636E\\u7684\\u589E\\u5220\\u67E5\\u6539\\uFF0C\\u80FD\\u591F\\u6EE1\\u8DB3\\u8FD9\\u4E2A\\u9636\\u6BB5\\u4E1A\\u52A1\\u7684\\u9700\\u6C42\\u3002\"), mdx(\"p\", null, \"\\u8BFB\\u5199\\u5206\\u79BB\\u3001\\u5206\\u5E93\\u5206\\u8868\\u662F\\u4E2D\\u95F4\\u4EF6\\u7684\\u4E1A\\u52A1\\u5E95\\u5C42\\uFF0C\\u5728\\u914D\\u7F6E\\u5B8C\\u597D\\u4E4B\\u540E\\uFF0C\\u4E1A\\u52A1\\u5BF9\\u6570\\u636E\\u7684\\u8BBF\\u95EE\\u4ECE\\u9700\\u8981\\u81EA\\u5DF1\\u8BA1\\u7B97 hash \\u5230\\u67D0\\u4E2A\\u673A\\u5668\\u7684\\u67D0\\u4E2A\\u6570\\u636E\\u8868\\u4E2D\\u8131\\u79BB\\uFF0C\\u53EA\\u9700\\u8981\\u67E5\\u8BE2\\uFF0C\\u8BA9\\u4E2D\\u95F4\\u4EF6\\u53BB\\u89E3\\u6790\\u3001\\u7136\\u540E\\u901A\\u8FC7\\u8DEF\\u7531\\u5206\\u53D1\\u67E5\\u8BE2\\u771F\\u5B9E\\u7684\\u76EE\\u7684\\u5730\\uFF0C\\u8FD4\\u56DE\\u6211\\u60F3\\u8981\\u7684\\u7ED3\\u679C\\uFF0C\\u8C03\\u7528\\u65B9\\u65E0\\u9700\\u5C06\\u6570\\u636E\\u5E93\\u7684\\u5206\\u8868\\u903B\\u8F91\\u5D4C\\u5165\\u5230\\u4E1A\\u52A1\\u4E2D\\uFF0C\\u4ECE\\u800C\\u964D\\u4F4E\\u5FC3\\u667A\\u8D1F\\u62C5\\u3002\"), mdx(\"p\", null, \"\\u8FD9\\u4E2A\\u4E2D\\u95F4\\u4EF6\\u5305\\u542B\\u5F88\\u591A\\u7684\\u6982\\u5FF5\\u548C\\u80FD\\u529B\\uFF1A\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u517C\\u5BB9\\u591A\\u79CD\\u5E95\\u5C42\\u6570\\u636E\\u5E93\\u89C4\\u8303\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u6570\\u636E\\u5E93\\u4E3B\\u5907\\u5207\\u6362\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u8BFB\\u5199\\u5206\\u79BB\\uFF08\\u5E26\\u6743\\u91CD\\uFF09\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u5BA2\\u6237\\u7AEF\\u6216\\u8005\\u670D\\u52A1\\u7AEF\\u5904\\u7406\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u7075\\u6D3B\\u3001\\u52A8\\u6001\\u7684\\u6570\\u636E\\u5E93\\u62C6\\u5206\\u89C4\\u5219\\u548C\\u914D\\u7F6E\")), mdx(\"p\", null, \"\\u8FD9\\u4E2A\\u4E2D\\u95F4\\u4EF6\\u7684\\u6A21\\u5F0F\\u76EE\\u524D\\u5728\\u5927\\u90E8\\u5206\\u7684\\u5206\\u5E03\\u5F0F\\u67B6\\u6784\\u4E2D\\u90FD\\u80FD\\u6EE1\\u8DB3\\u5F88\\u957F\\u4E00\\u6BB5\\u65F6\\u95F4\\u7684\\u9700\\u6C42\\uFF0C\\u6BD5\\u7ADF\\u67B6\\u6784\\u4E0A\\u5DF2\\u7ECF\\u662F\\u6C34\\u5E73\\u53EF\\u6269\\u5C55\\u7684\\u4E86\\u3002\\u4E0D\\u8FC7\\u7F3A\\u70B9\\u662F\\u4F7F\\u7528\\u95E8\\u69DB\\u3001\\u8FD0\\u7EF4\\u3001\\u914D\\u7F6E\\u7684\\u6210\\u672C\\u6BD4\\u8F83\\u9AD8\\u3002\"), mdx(\"h3\", null, \"5. \\u4E91\\u539F\\u751F\\u4E0B\\u7684\\u5206\\u5E03\\u5F0F\\u4E91\\u6570\\u636E\\u5E93\"), mdx(\"p\", null, \"\\u4F20\\u7EDF\\u7684 \\u5206\\u5E03\\u5F0F\\u6570\\u636E\\u5E93 Mysql \\u4E4B\\u7C7B\\uFF0C\\u6570\\u636E\\u5E93\\u7CFB\\u7EDF\\u90E8\\u7F72\\u5728\\u865A\\u62DF\\u673A\\u548C\\u5206\\u5E03\\u5F0F\\u5B58\\u50A8\\u4E4B\\u4E0A\\uFF0C\\u901A\\u8FC7\\u7F51\\u7EDC io \\u5C06\\u591A\\u6570\\u636E\\u5E93\\u5B9E\\u4F8B\\u8FDE\\u63A5\\u5728\\u4E00\\u8D77\\uFF0C\\u4E00\\u5B9A\\u7A0B\\u5EA6\\u4E0A\\u80FD\\u591F\\u80FD\\u591F\\u627F\\u62C5\\u66F4\\u5927\\u7684\\u5B58\\u50A8\\u548C\\u5BB9\\u707E\\u6027\\uFF0C\\u4F46\\u662F\\u5E95\\u5C42\\u7684\\u67B6\\u6784\\u5E76\\u6CA1\\u6709\\u9488\\u5BF9\\u5206\\u5E03\\u5F0F\\u7684\\u57FA\\u7840\\u8BBE\\u65BD\\u4F18\\u5316\\uFF0C\\u5728 \\u7F51\\u7EDC\\u3001\\u5B58\\u50A8\\u3001\\u8BA1\\u7B97\\u4E0A\\u90FD\\u6709\\u5F88\\u5927\\u7684\\u5B58\\u50A8\\u7A7A\\u95F4\\u3002\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\"\n  }, \"\\u5206\\u5E03\\u5F0F\\u4E91\\u6570\\u636E\\u5E93->\\n                                   +---------------+\\n                  +----------------+  Application  +<-------------+\\n                  |                +-------+-------+              |\\n                  |                        ^                      |\\n                  v                        |                      |\\n          +-------+-------+       +---------------+      +---------------+\\n          | DB (Master)   |       | DB (Slave 1)  |      | DB (Slave 2)  |\\n          |               +<----->+               +<---->+               |\\n          +-----+-+-------+       +-----+-+-------+      +-----+-+-------+\\n                | ^                     | ^                    | ^\\n                | |                     | |                    | |\\n        +----------------------------------------------------------------------+\\n        |       | |                     | |                    | |             |\\n        |    +--v-+-------+         +---v-+------+         +---v-+-------+     |\\n        |    | storage    |         | storage    |         | storage     |     |\\n        |    |         \\xD7n |         |         \\xD7n |         |          \\xD7n |     |\\n        |    +------------+         +------------+         +-------------+     |\\n        |                                                        Cloud storage |\\n        +----------------------------------------------------------------------+\\n\")), mdx(\"p\", null, \"\\u4E91\\u539F\\u751F\\u610F\\u601D\\u662F\\u571F\\u751F\\u571F\\u957F\\u6839\\u636E\\u73B0\\u4EE3\\u4E91\\u67B6\\u6784\\u4E0B\\u7684\\u6280\\u672F\\u65B9\\u6848\\uFF0C\\u865A\\u62DF\\u5316\\u6280\\u672F\\u3001\\u5206\\u5E03\\u5F0F\\u67B6\\u6784\\u4F5C\\u4E3A\\u57FA\\u7840\\u7684\\u5E94\\u7528\\u7A0B\\u5E8F\\u3002\\u4E91\\u6570\\u636E\\u5E93\\u4F5C\\u4E3A Paas \\u63D0\\u4F9B\\u5B8C\\u6574\\u7684\\u6570\\u636E\\u5E93\\u670D\\u52A1\\uFF0C\\u6280\\u672F\\u4E0A\\u662F\\u642D\\u5EFA\\u5728\\u4E91\\u8BBE\\u65BD\\u57FA\\u7840\\u4E0A\\uFF0C\\u914D\\u5408\\u5BF9\\u5E94\\u7684\\u7BA1\\u7406\\u8F6F\\u4EF6\\u3001\\u5BA2\\u6237\\u7AEF SDK \\u7B49\\u5B9E\\u73B0\\u66F4\\u53EF\\u9760\\u7684\\u670D\\u52A1\\uFF0C\\u540C\\u65F6\\u6EE1\\u8DB3\\u53EF\\u4F38\\u7F29\\u3001\\u5206\\u5E03\\u5F0F\\u3001\\u7EC6\\u7C92\\u5EA6\\u8C03\\u5EA6\\u7B49\\uFF0C\\u4EE5\\u6B64\\u5B9E\\u73B0\\u73B0\\u4EE3\\u6570\\u636E\\u5E93\\u7684\\u9700\\u6C42\\u3002\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\"\n  }, \"\\u4E91\\u539F\\u751F\\u6570\\u636E\\u5E93->\\n                                       +---------------+\\n                      +----------------+  Application  +<-------------+\\n                      |                +-------+-------+              |\\n                      |                        ^                      |\\n                      v                        |                      |\\n                +------+--------+       +-------+-------+      +-------+-------+\\n                | DB (Master)   |       | DB (Slave 1)  |      | DB (Slave 2)  |\\nscale up        |               +<----->+               +<---->+               |\\n                +----+-+--------+       +-----+-+-------+      +----+-+--------+\\n                     | ^                      | ^                   | ^\\n                     v |                      v |                   v |\\n            +--------+-+----------------------+-+-------------------+-+------------+\\n            |                +-----------------------------+                       |\\n            |                |  Share Storage              |                       |\\nscale out   |                |                             |                       |\\n            |                |                        \\xD7n   |                       |\\n            |                +-----------------------------+         Cloud storage |\\n            +----------------------------------------------------------------------+\\n\")), mdx(\"p\", null, \"\\u76F8\\u6BD4\\u4F20\\u7EDF\\u7684\\u6570\\u636E\\u5E93\\u4E0A\\u4E91\\u7684\\u5B9E\\u73B0\\uFF0C\\u6BD4\\u5982\\u5728\\u4E91\\u670D\\u52A1\\u5668\\u4E0A\\u5B89\\u88C5\\u6570\\u636E\\u5E93\\u8F6F\\u4EF6\\uFF0C\\u4E91\\u539F\\u751F\\u6570\\u636E\\u5E93\\u5F3A\\u8C03\\u5728\\u4FDD\\u8BC1\\u5C3D\\u91CF\\u7684\\u517C\\u5BB9\\u60C5\\u51B5\\u4E0B\\uFF0C\\u4ECE\\u5F15\\u64CE\\u5C42\\u9762\\uFF0C\\u5C06\\u5E95\\u5C42\\u7684\\u786C\\u4EF6\\u63A5\\u53E3\\u3001\\u8BA1\\u7B97\\u80FD\\u529B\\u62BD\\u8C61\\u5230\\u4E91\\u57FA\\u7840\\u8BBE\\u65BD\\u4E0A\\uFF0C\\u4ECE\\u800C\\u4ECE\\u5E95\\u5C42\\u63D0\\u4F9B\\u52A8\\u6001\\u53EF\\u4F38\\u7F29\\u7684\\u5206\\u5E03\\u5F0F\\u80FD\\u529B\\uFF0C\\u800C\\u4E0D\\u662F\\u53EA\\u662F\\u8BBE\\u5907\\u4E0A\\u4E91\\uFF0C\\u670D\\u52A1\\u4F9D\\u7136\\u65E0\\u6CD5\\u65B9\\u4FBF\\u4F38\\u7F29\\u3001\\u53EF\\u9760\\u6027\\u4F9D\\u65E7\\u3002\"), mdx(\"p\", null, \"\\u8FD9\\u4E9B\\u6570\\u636E\\u5E93\\u5927\\u90E8\\u5206\\u662F\\u4F9D\\u9760\\u4E91\\u670D\\u52A1\\u5382\\u5546\\u63D0\\u4F9B\\u7684\\u670D\\u52A1\\uFF0C\\u6709\\u4E00\\u6574\\u5957\\u7684\\u6280\\u672F\\u65B9\\u6848\\u4FDD\\u8BC1\\u6027\\u80FD\\u3001\\u5B89\\u5168\\u3001\\u5065\\u58EE\\u6027\\u3001\\u53EF\\u6269\\u5C55\\u548C\\u6210\\u672C\\u3002\\u6BD4\\u5982\\u817E\\u8BAF\\u4E91\\u6570\\u636E\\u5E93 CynosDB\\u3001\\u963F\\u91CC\\u4E91 PolarDB\\u3001AWS Aurora\\u3001\\u534E\\u4E3A\\u4E91 Taurus\\u7B49\\u3002\"), mdx(\"blockquote\", null, mdx(\"p\", {\n    parentName: \"blockquote\"\n  }, \"\\u6570\\u636E\\u5E93\\u662F\\u4F20\\u7EDF\\u7684\\u4E1A\\u52A1\\u6570\\u636E\\u5E93\\uFF0C\\u5F3A\\u8C03\\u7684\\u662F\\u5B9E\\u65F6\\u7684\\u5B58\\u50A8\\u548C\\u67E5\\u8BE2\\uFF0C\\u6570\\u636E\\u4E00\\u81F4\\u6027\\u548C\\u5B9E\\u65F6\\u6027\\u8981\\u6C42\\u8F83\\u9AD8\\uFF0C\\u4E0E\\u5F3A\\u8C03\\u8BA1\\u7B97\\u7684 Hive \\u7C7B\\u5927\\u89C4\\u6A21\\u5206\\u5E03\\u5F0F\\u8BA1\\u7B97\\u548C\\u5B58\\u50A8\\u4ED3\\u5E93\\u662F\\u4E24\\u4E2A\\u6982\\u5FF5\\uFF0C\\u5373\\u4F7F Hive \\u4E2D\\u6570\\u636E\\u6709\\u7C7B\\u4F3C\\u7684 SQL \\u67E5\\u8BE2\\u3002\")), mdx(\"h2\", null, \"\\u4E8C\\u3001SQL\"), mdx(\"p\", null, \"\\uFF08Structured Query Language\\uFF0C\\u7ED3\\u6784\\u5316\\u67E5\\u8BE2\\u8BED\\u8A00\\uFF09 \\u662F\\u4EC0\\u4E48\\u7684\\u7406\\u8BBA\\u5C31\\u4E0D\\u8BF4\\u4E86~~\"), mdx(\"h3\", null, \"1. SQL \\u793A\\u4F8B\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-sql\"\n  }, \"SELECT  [ALL|DISTINCT]  <\\u5217\\u540D> as <\\u522B\\u79F0>  [,<\\u8868\\u540D> as <\\u522B\\u79F0> ]....\\nFROM <\\u8868\\u540D> as <\\u522B\\u79F0> [,<\\u8868\\u540D> as <\\u522B\\u79F0> ]....\\nwhere <\\u6761\\u4EF6> \\nGROUP BY  <\\u5217\\u540D>\\nHAVING  <\\u6761\\u4EF6>\\nORDER BY <\\u5217\\u540D>  [ASC|DESC]\\n\")), mdx(\"h3\", null, \"2. SQL \\u6267\\u884C\\u7684\\u987A\\u5E8F\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u5E94\\u7528\\u7A0B\\u5E8F\\u4E0E\\u6570\\u636E\\u5E93\\u670D\\u52A1\\u5668\\u5EFA\\u7ACB\\u94FE\\u63A5\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"sql\\u53D1\\u9001\\u5230\\u6570\\u636E\\u5E93\\uFF0C\\u6570\\u636E\\u5E93\\u9A8C\\u8BC1\\u662F\\u5426\\u6709\\u6267\\u884C\\u7684\\u6743\\u9650\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u8FDB\\u5165\\u8BED\\u6CD5\\u89E3\\u6790\\u5668\\uFF0C\\u8FDB\\u884C\\u8BCD\\u6CD5\\u4E0E\\u8BED\\u6CD5\\u5206\\u6790\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u8FDB\\u5165\\u4F18\\u5316\\u5668\\u751F\\u6210\\u6267\\u884C\\u8BA1\\u5212\\uFF0C\\u90E8\\u5206dbms\\u4F1A\\u68C0\\u67E5\\u662F\\u5426\\u6709\\u53EF\\u91CD\\u7528\\u7684\\u6267\\u884C\\u8BA1\\u5212\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u6839\\u636E\\u6267\\u884C\\u8BA1\\u5212\\u4F9D\\u6B21\\u626B\\u63CF\\u76F8\\u5173\\u8868\\u4E2D\\u7684\\u884C\\uFF0C\\u4E0D\\u5728\\u6570\\u636E\\u7F13\\u51B2\\u533A\\u7684\\u8D70io\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u540C\\u65F6\\u5BF9\\u4E8E\\u88AB\\u626B\\u63CF\\u7684\\u884C\\u53EF\\u80FD\\u52A0\\u9501\\uFF0C\\u540C\\u65F6\\u4E5F\\u53EF\\u80FD\\u4F1A\\u88AB\\u5176\\u4ED6sql\\u963B\\u585E\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u626B\\u63CF\\u7684\\u884C\\u8DB3\\u591F\\u653E\\u5165\\u67E5\\u8BE2\\u7F13\\u5B58\\u5219\\u5F00\\u59CB\\u8FD0\\u7B97\\u6216\\u76F4\\u63A5\\u8FD4\\u56DE\\uFF0C\\u4E0D\\u591F\\u5219\\u751F\\u6210\\u4E34\\u65F6\\u8868\\uFF0C\\u53EF\\u80FD\\u6D88\\u8017io\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u5BF9sql\\u7ED3\\u679C\\u8FDB\\u884C\\u8BA1\\u7B97\\uFF08\\u53EF\\u80FD\\uFF09\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u5C06\\u8BA1\\u7B97\\u5B8C\\u6210\\u7684\\u7ED3\\u679C\\u5168\\u90E8\\u5199\\u5165\\u7F51\\u7EDCio\\uFF08\\u53EF\\u80FD\\uFF09\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u5982\\u679C\\u4E8B\\u52A1\\u5B8C\\u6210\\u5219\\u540C\\u6B65\\u4E8B\\u52A1\\u65E5\\u5FD7\\u5E76\\u91CA\\u653E\\u9501\\uFF0C\\u5177\\u4F53\\u65B9\\u5F0F\\u53D6\\u51B3\\u4E8Edbms\\u548C\\u5F53\\u524D\\u914D\\u7F6E11.\\u5173\\u95ED\\u8FDE\\u63A5\\uFF08\\u53EF\\u9009\\uFF09\")), mdx(\"h3\", null, \"3. SQL \\u662F\\u5BF9\\u5173\\u7CFB\\u7684\\u63CF\\u8FF0\\u610F\\u56FE\"), mdx(\"p\", null, \"SQL \\u67E5\\u8BE2\\uFF0C\\u53EF\\u4EE5\\u7406\\u89E3\\u4E3A\\u5BF9\\u4E00\\u4E9B\\u5173\\u7CFB\\u96C6\\u5408\\u7684\\u8BA1\\u7B97\\uFF0C\\u7136\\u540E\\u751F\\u6210\\u65B0\\u7684\\u610F\\u56FE\\u4E0B\\u7684\\u5173\\u7CFB\\u96C6\\u5408\\u3002\"), mdx(\"p\", null, \"\\u65E0\\u8BBA\\u662F FROM\\u3001WHERE\\u3001GROUP BY\\u3001ORDER\\u3001LIMIT \\u90FD\\u662F\\u5BF9\\u6570\\u636E\\u5173\\u7CFB\\u7684\\u63CF\\u8FF0\\u610F\\u56FE\\uFF0C\\u5F15\\u64CE\\u4F1A\\u8FD4\\u56DE\\u8FD9\\u4E2A\\u610F\\u56FE\\u4E0B\\u7684\\u65B0\\u7684\\u5173\\u7CFB\\u96C6\\u5408\"), mdx(\"h3\", null, \"4. SQL \\u4E2D\\u4E0D\\u9700\\u8981\\u5173\\u5FC3\\u8BA1\\u7B97\\uFF0C\\u4F46\\u662F\\u9700\\u8981\\u5173\\u5FC3\\u6548\\u7387\"), mdx(\"p\", null, \"\\u6570\\u636E\\u5E93\\u7684\\u67E5\\u8BE2\\u5BF9\\u4E8E\\u4E1A\\u52A1\\u662F\\u65E0\\u611F\\u77E5\\u7684\\uFF0C\\u53EA\\u9700\\u8981\\u9002\\u7528 SQL \\u58F0\\u660E\\u9700\\u8981\\u7684\\u6570\\u636E\\uFF0C\\u5176\\u4E2D\\u65E0\\u8BBA\\u53D1\\u751F\\u4E86\\u4EC0\\u4E48\\u8BA1\\u7B97\\u3001\\u7F13\\u5B58\\u3001\\u805A\\u5408\\u3001\\u904D\\u5386\\u7B49\\u8BA1\\u7B97\\u90FD\\u662F\\u4E0D\\u9700\\u8981\\u8003\\u8651\\u7684\\uFF0C\\u66F4\\u4E0D\\u7528\\u8003\\u8651\\u600E\\u4E48\\u5728\\u4E1A\\u52A1\\u4E2D\\u66FF\\u4EE3\\u5176\\u4E2D\\u7684\\u5B9E\\u73B0\\uFF0C\\u6CA1\\u6709\\u4EC0\\u4E48\\u610F\\u4E49\\u3002\"), mdx(\"p\", null, \"\\u4F46\\u662F\\u8BA1\\u7B97\\u6240\\u6D88\\u8017\\u7684\\u6027\\u80FD\\u548C\\u6548\\u7387\\u8DDF\\u58F0\\u660E\\u6709\\u5173\\uFF0C\\u8868\\u548C\\u5B57\\u6BB5\\u7684\\u63CF\\u8FF0\\u5173\\u7CFB\\u7740\\u5E95\\u5C42\\u67E5\\u8BE2\\u7684\\u6548\\u7387\\u3002\\u6BD4\\u5982\\u67E5\\u8BE2\\u5168\\u90E8\\u5B57\\u6BB5\\u786E\\u5B9E\\u6BD4\\u6307\\u5B9A\\u5B57\\u6BB5\\u8017\\u65F6\\uFF0C\\u9650\\u5236\\u6761\\u6570\\u786E\\u5B9E\\u80FD\\u51CF\\u5C11\\u67E5\\u8BE2\\u8017\\u65F6\\uFF0C\\u4F46\\u662F\\u8FD9\\u4E9B\\u90FD\\u662F\\u8DDF\\u4E1A\\u52A1\\u76F8\\u5173\\uFF0C\\u6240\\u4EE5\\u7ED3\\u5408\\u4E1A\\u52A1\\u4F18\\u5316\\u67E5\\u8BE2\\u6548\\u7387\\u624D\\u662F SQL \\u8BED\\u8A00\\u7684\\u91CD\\u70B9\\u3002\"), mdx(\"h3\", null, \"5. group by \\u548C join \\u8F6C\\u6362\\u4E86\\u539F\\u6765\\u7684\\u8868\\u7ED3\\u6784\"), mdx(\"p\", null, \"group \\u628A\\u8868\\u6309\\u67D0\\u4E9B\\u5B57\\u6BB5\\u7EDF\\u8BA1\\u7F29\\u5C0F\\uFF0Cjoin \\u5219\\u4F7F\\u7528\\u7B1B\\u5361\\u5C14\\u79EF\\u5C06\\u591A\\u4E2A\\u8868\\u8FDE\\u63A5\\u5C55\\u5F00\\u3002\"), mdx(\"h3\", null, \"\\u4E0D\\u540C\\u7684\\u8F6F\\u4EF6\\u548C\\u5F15\\u64CE\\u5BF9 SQL \\u7684\\u652F\\u6301\"), mdx(\"p\", null, \"SQL \\u662F\\u4E00\\u95E8\\u8BED\\u8A00\\uFF0C\\u4F46\\u662F\\u4E0D\\u540C\\u6570\\u636E\\u5E93\\u8F6F\\u4EF6\\u6216\\u8005\\u4E0D\\u540C\\u7684\\u5F15\\u64CE\\u5BF9\\u8BED\\u8A00\\u7684\\u89E3\\u6790\\u6267\\u884C\\u53EF\\u80FD\\u4E0D\\u751A\\u76F8\\u540C\\uFF0C\\u751A\\u81F3\\u6709\\u6269\\u5C55\\u7684\\u8BED\\u6CD5\\u7B49\\uFF0C\\u8FD9\\u70B9\\u9700\\u8981\\u660E\\u786E\\uFF0C\\u4E0D\\u80FD\\u601D\\u7EF4\\u5B9A\\u5F0F\\uFF0C\\u9700\\u8981\\u6839\\u636E\\u4E1A\\u52A1\\u6765\\u9002\\u7528\\u4E0D\\u540C\\u7684\\u4EE3\\u7801\\u3002(\\u5E9F\\u8BDD)\"), mdx(\"h3\", null, \"6. \\u7D22\\u5F15\\u4E0E\\u6027\\u80FD\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"\\u6DFB\\u52A0\\u7D22\\u5F15\\u80FD\\u663E\\u8457\\u63D0\\u9AD8\\u67E5\\u8BE2\\u6027\\u80FD\\uFF0C\\u4F46\\u662F\\u4F1A\\u964D\\u4F4E\\u6570\\u636E\\u7684\\u7EF4\\u62A4\\u901F\\u5EA6\\uFF0C\\u5199\\u5165\\u6548\\u7387\\u4F1A\\u53D8\\u4F4E\\u3002\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"\\u5BF9\\u67E5\\u8BE2\\u8FC7\\u6EE4\\u6216\\u6392\\u5E8F\\u8F83\\u591A\\u3001\\u53D6\\u503C\\u8303\\u56F4\\u8F83\\u591A\\u3001\\u7B80\\u5355\\u6570\\u636E\\u7C7B\\u578B\\u7684\\u6570\\u636E\\u624D\\u6DFB\\u52A0\\u7D22\\u5F15\")), mdx(\"h3\", null, \"7. \\u5206\\u5E03\\u5F0F\\u6570\\u636E\\u5E93\\u7684\\u8DE8\\u8868\\u67E5\\u8BE2\"), mdx(\"p\", null, \"\\u5206\\u5E03\\u5F0F\\u7684\\u6570\\u636E\\u5E93\\u4ECE\\u539F\\u7406\\u4E0A\\u5BF9\\u4E8E\\u67D0\\u4E9B\\u4E1A\\u52A1\\u4E0D\\u662F\\u592A\\u53CB\\u597D\\uFF0C\\u6BD4\\u5982\\u591A\\u673A\\u5668\\u3001\\u591A\\u4ED3\\u5E93\\u3001\\u591A\\u8868\\u4E0B\\u7684 JOIN \\u64CD\\u4F5C\\uFF0C\\u5982\\u679C\\u6709\\u81EA\\u52A8\\u540C\\u6B65\\u6216\\u8005\\u5E7F\\u64AD\\u7684\\u903B\\u8F91\\uFF0C\\u76F8\\u5F53\\u4E8E\\u5355\\u673A\\u64CD\\u4F5C\\u6027\\u80FD\\u6CA1\\u6709\\u635F\\u5931\\uFF0C\\u4F46\\u662F\\u5982\\u679C\\u8DE8\\u673A\\u5668\\u5206\\u8868\\u67E5\\u8BE2\\uFF0C\\u8FD9\\u5C31\\u9700\\u8981\\u4E00\\u5B9A\\u7684\\u7F51\\u7EDC\\u4F20\\u8F93\\u3001\\u7F13\\u5B58\\u548C\\u8BA1\\u7B97\\u80FD\\u529B\\u62C6\\u5206\\u67E5\\u8BE2\\uFF0C\\u7136\\u540E\\u805A\\u5408\\u6765\\u5B8C\\u6210\\u8FD9\\u4E2A\\u4EFB\\u52A1\\u3002\"), mdx(\"p\", null, \"\\u8FD9\\u4E2A\\u9700\\u8981\\u7ED3\\u5408\\u4E1A\\u52A1\\u5408\\u9002\\u7684\\u8BBE\\u8BA1 SQL\\uFF0C\\u4E0E\\u4E1A\\u52A1\\u5F3A\\u5173\\u8054\\u3002\"), mdx(\"h3\", null, \"8. where \\u6761\\u4EF6\\u987A\\u5E8F\\u6027\\u80FD\"), mdx(\"p\", null, \"where \\u67E5\\u8BE2\\u7684\\u65F6\\u5019\\u4F1A\\u88AB\\u67E5\\u8BE2\\u4F18\\u5316\\u5668\\u9884\\u5904\\u7406\\uFF0C\\u6839\\u636E\\u7D22\\u5F15\\u3001\\u8054\\u5408\\u7D22\\u5F15\\u7B49\\u4F18\\u5316\\uFF0C\\u4E0D\\u9700\\u8981\\u5728\\u610F SQL \\u672C\\u8EAB\\u7684\\u6392\\u5217\\u987A\\u5E8F\\uFF0C\\u5982\\u679C\\u4E0D\\u653E\\u5FC3\\u7684\\u8BDD\\uFF0C\\u53EF\\u4EE5\\u5C06\\u67E5\\u8BE2\\u8FC7\\u6EE4\\u8F83\\u591A\\u7684\\u653E\\u5DE6\\u8FB9\\u3002\"), mdx(\"h3\", null, \"9. \\u540C\\u65F6\\u5305\\u542B where\\u3001group\\xA0by\\u3001having\\u3001order\\xA0by\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u6267\\u884C where \\u5BF9\\u5168\\u8868\\u6570\\u636E\\u505A\\u7B5B\\u9009\\uFF0C\\u8FD4\\u56DE\\u7B2C 1 \\u4E2A\\u7ED3\\u679C\\u96C6\\u3002\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u9488\\u5BF9\\u7B2C 1 \\u4E2A\\u7ED3\\u679C\\u96C6\\u4F7F\\u7528 group\\xA0by \\u5206\\u7EC4\\uFF0C\\u8FD4\\u56DE\\u7B2C 2 \\u4E2A\\u7ED3\\u679C\\u96C6\\u3002\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u9488\\u5BF9\\u7B2C 2 \\u4E2A\\u7ED3\\u679C\\u96C6\\u4E2D\\u7684\\u6BCF 1 \\u7EC4\\u6570\\u636E\\u6267\\u884C select\\uFF0C\\u6709\\u51E0\\u7EC4\\u5C31\\u6267\\u884C\\u51E0\\u6B21\\uFF0C\\u8FD4\\u56DE\\u7B2C 3 \\u4E2A\\u7ED3\\u679C\\u96C6\\u3002\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u9488\\u5BF9\\u7B2C 3 \\u4E2A\\u7ED3\\u96C6\\u6267\\u884C having \\u8FDB\\u884C\\u7B5B\\u9009\\uFF0C\\u8FD4\\u56DE\\u7B2C 4 \\u4E2A\\u7ED3\\u679C\\u96C6\\u3002\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u9488\\u5BF9\\u7B2C 4 \\u4E2A\\u7ED3\\u679C\\u96C6\\u6392\\u5E8F\\u3002\")), mdx(\"h3\", null, \"10. \\u9501\"), mdx(\"p\", null, \"\\u4E3A\\u4E86\\u4FDD\\u8BC1\\u4E00\\u81F4\\u6027\\u7684\\u57FA\\u7840\\uFF0C\\u6570\\u636E\\u5E93\\u4E2D\\u5305\\u542B\\u5F88\\u591A\\u9501\\u7684\\u6982\\u5FF5\\uFF0C\\u5728\\u89E3\\u9501\\u4E4B\\u524D\\u6570\\u636E\\u4E0D\\u5141\\u8BB8\\u8BFB\\u6216\\u5199\\uFF0C\\u4E3A\\u4E86\\u4FDD\\u8BC1\\u6570\\u636E\\u7684\\u4E00\\u76F4\\u548C\\u4E8B\\u52A1\\u7684\\u9694\\u79BB\\u4E4B\\u7C7B\\u7684\\u3002\"), mdx(\"p\", null, \"\\u4E00\\u822C\\u60C5\\u51B5\\u4E0B\\u9501\\u7684\\u5B58\\u5728\\u662F\\u81EA\\u52A8\\u8F85\\u52A9\\u6570\\u636E\\u5E93\\u8FD0\\u884C\\u7684\\uFF0C\\u4E1A\\u52A1\\u4E2D\\u4E0D\\u4F1A\\u4E3B\\u52A8\\u6D89\\u53CA\\u5230\\u5176\\u4E2D\\u7684\\u6982\\u5FF5\\uFF0C\\u4F46\\u662F\\u4E1A\\u52A1\\u4E2D\\u5982\\u679C SQL \\u7528\\u9519\\u4E86\\uFF0C\\u53EF\\u80FD\\u56E0\\u4E3A\\u9501\\u7684\\u539F\\u56E0\\u5BFC\\u81F4\\u5E76\\u884C\\u6548\\u7387\\u95EE\\u9898\\u3002\"), mdx(\"p\", null, \"\\u5176\\u4E2D\\u6BD4\\u8F83\\u591A\\u7684\\u4E50\\u89C2\\u9501\\u548C\\u60B2\\u89C2\\u9501\\uFF0C\\u4E50\\u89C2\\u9501\\u5728\\u4E0D\\u9501\\u5B9A\\u7684\\u60C5\\u51B5\\u4E0B\\u53BB\\u8BFB\\u53D6\\u6216\\u8005\\u66F4\\u65B0\\u6570\\u636E\\uFF0C\\u5982\\u679C\\u53D1\\u73B0\\u4E0D\\u5BF9\\u52B2\\u518D\\u6267\\u884C\\u56DE\\u6EDA\\u3002\\u60B2\\u89C2\\u9501\\u7528\\u7684\\u5C31\\u662F\\u6570\\u636E\\u5E93\\u7684\\u884C\\u9501\\uFF0C\\u8BA4\\u4E3A\\u6570\\u636E\\u5E93\\u4F1A\\u53D1\\u751F\\u5E76\\u53D1\\u51B2\\u7A81\\uFF0C\\u76F4\\u63A5\\u4E0A\\u6765\\u5C31\\u628A\\u6570\\u636E\\u9501\\u4F4F\\uFF0C\\u5176\\u4ED6\\u4E8B\\u52A1\\u4E0D\\u80FD\\u4FEE\\u6539\\uFF0C\\u76F4\\u81F3\\u63D0\\u4EA4\\u4E86\\u5F53\\u524D\\u4E8B\\u52A1\\u3002\"), mdx(\"h3\", null, \"11. \\u4E8B\\u52A1\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-sql\"\n  }, \"-- \\u6807\\u8BB0\\u4E8B\\u52A1\\u5F00\\u59CB\\nBEGIN;\\n-- \\u5C1D\\u8BD5\\u6267\\u884C SQL\\nUPDATE accounts SET balance = balance - 100 WHERE id = 1;\\nUPDATE accounts SET balance = balance + 100 WHERE id = 2;\\n\\n-- 1. \\u5728\\u4E1A\\u52A1\\u4EE3\\u7801\\u4E2D\\u5224\\u65AD\\u4E0A\\u9762\\u90FD\\u6210\\u529F\\u4E4B\\u540E\\nCOMMIT;\\n\\n-- 2. \\u5982\\u679C\\u67D0\\u4E00\\u4E2A sql \\u5931\\u8D25\\uFF0C\\u6216\\u8005\\u6570\\u636E\\u68C0\\u67E5\\u51FA\\u73B0\\u95EE\\u9898\\u4E4B\\u540E\\nROLLBACK;\\n\")), mdx(\"p\", null, \"\\u4E8B\\u52A1\\u9700\\u8981\\u5728\\u4E1A\\u52A1\\u4E2D\\u63A7\\u5236\\u8FDB\\u7A0B\\u548C\\u5206\\u652F\\uFF1A\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-js\"\n  }, \"// \\u7C7B\\u4F3C\\u4E0B\\u9762\\u7684\\u4EE3\\u7801\\ntry {\\n  // \\u6267\\u884C sql\\n  execute(\\\"insert ...\\\");\\n  execute(\\\"insert ...\\\");\\n  // \\u90FD\\u6CA1\\u95EE\\u9898\\u7684\\u8BDD commit\\n  commit();\\n} catch (Exception e) {\\n  // \\u4E00\\u65E6\\u51FA\\u73B0\\u95EE\\u9898\\uFF0C\\u6267\\u884C\\u56DE\\u6EDA\\n  rollback();\\n}\\n\")), mdx(\"p\", null, \"\\u7B80\\u5355\\u793A\\u4F8B\\uFF0C\\u5B9E\\u9645\\u4F7F\\u7528\\u5230\\u4E8B\\u52A1\\u7684\\u8BDD\\u4E1A\\u52A1\\u90FD\\u4F1A\\u5F88\\u590D\\u6742\\uFF0C\\u8FD9\\u91CC\\u4E0D\\u6DF1\\u5165\\u4E86\\u3002\"), mdx(\"h3\", null, \"12. \\u5E38\\u89C1\\u7684\\u67E5\\u8BE2\\u4F18\\u5316\\uFF1A\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"\\u5C3D\\u91CF\\u907F\\u514D\\u4F7F\\u7528 in \\u548C not in\"), mdx(\"p\", {\n    parentName: \"li\"\n  }, \"in\\u548Cnot in\\u4E5F\\u4F1A\\u5BFC\\u81F4\\u6570\\u636E\\u5E93\\u8FDB\\u884C\\u5168\\u8868\\u641C\\u7D22\\uFF0C\\u589E\\u52A0\\u8FD0\\u884C\\u65F6\\u95F4\\u3002\\u4F7F\\u7528 EXISTS\\u3001between \\u4EE3\\u66FF\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"\\u5C3D\\u91CF\\u907F\\u514D\\u4F7F\\u7528 or\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"\\u907F\\u514D\\u6392\\u5E8F\\uFF0C\\u5C3D\\u91CF\\u5728\\u8FC7\\u6EE4\\u540E\\u6392\\u5E8F\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"\\u80FD\\u5199\\u5728 WHERE \\u5B50\\u53E5\\u91CC\\u7684\\u6761\\u4EF6\\u4E0D\\u8981\\u5199\\u5728 HAVING \\u5B50\\u53E5\\u91CC\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"\\u4F7F\\u7528 LIKE \\u5C3D\\u91CF\\u524D\\u7F6E\\u5339\\u914D\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"where \\u7684\\u6761\\u4EF6\\u5B57\\u6BB5\\u672C\\u8EAB\\u4E0D\\u8981\\u52A0\\u51FD\\u6570\"))), mdx(\"h3\", null, \"13. HiveSQL \\u4E2D\\u4F18\\u5316\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u51CF\\u5C11\\u548C/\\u6216\\u6D88\\u9664 shuffle \\u64CD\\u4F5C\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u67E5\\u8BE2\\u65F6\\u4F18\\u5148\\u8FC7\\u6EE4\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u5728join\\u65F6\\uFF0C\\u5C3D\\u91CF\\u4FDD\\u8BC1\\uFF0Cjoin key\\uFF0C\\u5728\\u5DE6\\u53F3\\u4E24\\u8FB9\\u81F3\\u5C11\\u6709\\u4E00\\u4E2A\\u8868\\u4E2D\\u8FD9\\u4E9Bjoin key\\u662F\\u552F\\u4E00\\u7684\")), mdx(\"h2\", null, \"\\u56DB\\u3001\\u5206\\u5E03\\u5F0F\\u5173\\u7CFB\\u578B\\u6570\\u636E\\u5E93\"), mdx(\"h3\", null, \"1. \\u6570\\u636E\\u5E93\\u5B9E\\u4F8B\"), mdx(\"p\", null, \"\\u5927\\u90E8\\u5206\\u7684\\u5B9E\\u4F8B\\u65B9\\u6848\\u90FD\\u662F\\u5206\\u5E93\\u3001\\u5206\\u8868\\uFF0C\\u6BCF\\u4E2A\\u8868\\u53C8\\u5212\\u5206\\u4E3B\\u4ECE\\u3002\\u6240\\u4EE5\\u770B\\u8D77\\u6765\\u662F\\u4E00\\u4E2A\\u6570\\u636E\\u5E93\\uFF0C\\u5E95\\u5C42\\u7684\\u6570\\u636E\\u5E93\\u5B9E\\u4F8B\\u8981\\u591A\\u5F97\\u591A\\u3002\"), mdx(\"p\", null, \"\\u6570\\u636E\\u5E93\\u6216\\u6570\\u636E\\u8868\\u7684\\u5212\\u5206\\u80FD\\u591F\\u901A\\u8FC7\\u914D\\u7F6E\\u6216\\u8005\\u81EA\\u52A8\\u6269\\u5C55\\uFF0C\\u6839\\u636E\\u6570\\u636E\\u7684\\u91CD\\u8981\\u6027\\u6765\\u8BB2\\uFF0C\\u4E3B\\u4ECE\\u7684\\u6570\\u91CF\\u53EF\\u80FD\\u4E5F\\u5E76\\u4E0D\\u4E00\\u5B9A\\u552F\\u4E00\\uFF0C\\u53EF\\u80FD\\u6709\\u591A\\u5730\\u57DF\\u7684\\u5206\\u5E03\\u3002\"), mdx(\"p\", null, \"\\u6240\\u4EE5\\u4E00\\u4E2A\\u6570\\u636E\\u5E93\\u6709 10 \\u5F20\\u8868\\uFF0C\\u5176\\u4E2D\\u4E00\\u5F20\\u8868\\u5206\\u6210\\u4E86 10 \\u4E2A\\u5206\\u5E03\\u5F0F\\u6570\\u636E\\u5E93\\u5B9E\\u4F8B\\u4E2D\\uFF0C\\u6BCF\\u4E2A\\u5206\\u5E03\\u5F0F\\u5B9E\\u4F8B\\u8282\\u70B9\\u53EF\\u80FD\\u8FD8\\u6709\\u5728 3 \\u4E2A\\u57CE\\u5E02\\u7684 6 \\u53F0\\u4ECE\\u670D\\u52A1\\u5668\\u540C\\u6B65\\u6570\\u636E\\u3002\"), mdx(\"p\", null, \"\\u4E00\\u4E2A\\u67E5\\u8BE2\\u5728\\u5BA2\\u6237\\u7AEF\\u6570\\u636E\\u5E93\\u4E2D\\u95F4\\u4EF6\\u521B\\u5EFA\\uFF0C\\u7136\\u540E\\u53D1\\u9001\\u5230\\u6700\\u8FD1\\u7684\\u67E5\\u8BE2\\u8282\\u70B9\\uFF0C\\u67E5\\u8BE2\\u8282\\u70B9\\u6839\\u636E\\u67E5\\u8BE2\\u7684\\u54C8\\u5E0C\\u51FD\\u6570\\u627E\\u5230\\u771F\\u5B9E\\u7684\\u6570\\u636E\\u5E93\\u8282\\u70B9\\uFF0C\\u901A\\u8FC7\\u8DEF\\u7531\\u53D1\\u9001\\u67E5\\u8BE2\\u8BF7\\u6C42\\uFF0C\\u5982\\u679C\\u76EE\\u6807\\u6570\\u636E\\u5E93\\u5B95\\u673A\\uFF0C\\u80FD\\u591F\\u53CA\\u65F6\\u5207\\u6362\\u5230\\u540C\\u673A\\u623F\\u7684\\u53E6\\u4E00\\u53F0\\u5B9E\\u65F6\\u4ECE\\u6570\\u636E\\u5E93\\uFF0C\\u53C8\\u53D1\\u73B0\\u540C\\u673A\\u623F\\u7684\\u5B9E\\u4F8B\\u6389\\u7535\\u65E0\\u6CD5\\u89E6\\u8FBE\\uFF0C\\u8FD8\\u80FD\\u518D\\u5207\\u6362\\u5230\\u53E6\\u4E00\\u4E2A\\u57CE\\u5E02\\u7684\\u5907\\u4EFD\\u5B9E\\u4F8B\\u5B8C\\u6210\\u67E5\\u8BE2\\u3002\"), mdx(\"h3\", null, \"2. \\u4E3B\\u952E\\u552F\\u4E00 ID \\u751F\\u6210\"), mdx(\"p\", null, \"\\u5206\\u5E03\\u5F0F\\u6570\\u636E\\u5E93\\uFF0C\\u8868\\u683C\\u62C6\\u5206\\u4E3A\\u591A\\u4E2A\\u5B58\\u50A8\\u8282\\u70B9\\uFF0C\\u4E3B\\u952E\\u5C31\\u6CA1\\u5FC5\\u987B\\u4FDD\\u8BC1\\u4E0D\\u91CD\\u590D\\uFF0C\\u6240\\u4EE5\\u6CA1\\u529E\\u6CD5\\u8BA9\\u6570\\u636E\\u5E93\\u81EA\\u589E\\u7EF4\\u62A4\\u3002\"), mdx(\"p\", null, \"\\u7B2C\\u4E00\\u60F3\\u6CD5\\u662F\\u8003\\u8651\\u4F7F\\u7528 UUID \\u4F5C\\u4E3A\\u4E3B\\u952E\\uFF0C\\u8FD9\\u4E2A\\u6700\\u7B80\\u5355\\u7684\\u5B9E\\u73B0\\uFF0C\\u4F46\\u662F\\u5B57\\u7B26\\u4E32\\u4F5C\\u4E3A\\u6570\\u636E\\u5E93\\u4E3B\\u952E\\u7684\\u8BDD\\uFF0C\\u7D22\\u5F15\\u6027\\u80FD\\u4F1A\\u5F88\\u4F4E\\u3002\"), mdx(\"p\", null, \"\\u7B2C\\u4E8C\\u60F3\\u6CD5\\u662F\\u6BCF\\u4E2A\\u6570\\u636E\\u8282\\u70B9\\u7684\\u81EA\\u589E\\u4F7F\\u7528\\u4E0D\\u540C\\u7684\\u6B65\\u957F\\uFF0C\\u6BD4\\u5982\\u4E00\\u4E2A\\u662F 1\\u30013\\u30015\\u30017\\u30019\\uFF0C\\u53E6\\u4E00\\u4E2A\\u662F 2\\u30014\\u30016\\u30018\\u300110\\uFF0C\\u8FD9\\u6837\\u9012\\u589E\\u800C\\u4E14\\u4E0D\\u552F\\u4E00\\u3002\\u4F46\\u662F\\u7F3A\\u70B9\\u662F\\u56FA\\u5B9A\\u6B65\\u957F\\u540E\\u5C31\\u6CA1\\u529E\\u6CD5\\u518D\\u6269\\u5BB9\\u4E86\\u3002\"), mdx(\"p\", null, \"\\u6240\\u4EE5\\u4E3B\\u952E\\u5FC5\\u987B\\u662F\\u6570\\u5B57\\u578B\\u7684\\uFF0C\\u552F\\u4E00\\u6027\\u662F\\u6700\\u57FA\\u672C\\u7684\\u8981\\u6C42\\uFF0C\\u800C\\u4E14\\u5FC5\\u987B\\u9012\\u589E\\uFF0C\\u518D\\u4E0D\\u6D4E\\u4E5F\\u53EF\\u4EE5\\u6D6A\\u8D39\\u4E00\\u70B9\\u6027\\u80FD\\u7684\\u8D8B\\u52BF\\u9012\\u589E\\u3002\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u4E2D\\u5FC3\\u5316\\u7684 id \\u6D3E\\u53D1\\u601D\\u8DEF\")), mdx(\"p\", null, \"\\u53EF\\u4EE5\\u4E13\\u95E8\\u8BBE\\u5B9A\\u4E00\\u4E2A\\u670D\\u52A1\\uFF0C\\u751F\\u6210\\u552F\\u4E00\\u4E14\\u9012\\u589E\\u7684 id\\uFF0C\\u8FD9\\u6837\\u80FD\\u4FDD\\u8BC1 id \\u6CA1\\u95EE\\u9898\\uFF0C\\u751F\\u6210\\u7684\\u65B9\\u6CD5\\u6709\\u5F88\\u591A\\uFF1A\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\"\n  }, \"1. \\u5355\\u4E2A\\u6570\\u636E\\u5E93\\u81EA\\u589E\\uFF0C\\u53D6\\u8FD9\\u4E2A\\u9012\\u589E\\u503C\\n2. \\u4F7F\\u7528 KV \\u5B58\\u50A8\\uFF0C\\u6BD4\\u5982\\u9AD8\\u6027\\u80FD\\u7684 Redis \\u81EA\\u5DF1\\u5199\\u903B\\u8F91\\u6BCF\\u6B21 +1 \\u751F\\u6210 id\\n\")), mdx(\"p\", null, \"\\u5355\\u70B9\\u7684\\u670D\\u52A1\\u4E00\\u822C\\u53EF\\u9760\\u6027\\u4E0D\\u662F\\u5F88\\u7406\\u60F3\\uFF0C\\u4E00\\u65E6\\u51FA\\u73B0\\u5B95\\u673A\\u4E0B\\u7EBF\\uFF0C\\u90A3\\u4E48\\u4F1A\\u6781\\u5927\\u7684\\u5F71\\u54CD\\u670D\\u52A1\\uFF0C\\u800C\\u4E14 Redis \\u7684\\u6570\\u636E\\u6301\\u4E45\\u5316\\u95EE\\u9898\\u3001\\u5B95\\u673A\\u6062\\u590D\\u95EE\\u9898\\u3001\\u8BF7\\u6C42\\u963B\\u585E\\u3001\\u7F51\\u7EDC\\u5E76\\u53D1\\u7B49\\u65B9\\u9762\\u7684\\u95EE\\u9898\\uFF0C\\u8FD9\\u5757\\u5F88\\u96BE\\u505A\\u7684\\u5F88\\u53EF\\u9760\\u3002\"), mdx(\"ol\", {\n    \"start\": 2\n  }, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u6570\\u5B57 UUID\")), mdx(\"p\", null, \"UUID \\u7684\\u4E00\\u4E2A\\u5F88\\u5927\\u7684\\u7F3A\\u70B9\\u662F\\u5B57\\u7B26\\u4E32\\u7C7B\\u578B\\uFF0C\\u4F46\\u662F UUID \\u7684\\u751F\\u6210\\u6839\\u636E\\u673A\\u623F\\u3001\\u65F6\\u95F4\\u6233\\u7B49\\u4FE1\\u606F\\u54C8\\u5E0C\\u51FA\\u7684\\u5B57\\u7B26\\u4E32\\uFF0C\\u6709\\u501F\\u9274\\u7684\\u610F\\u4E49\\u3002\"), mdx(\"p\", null, \"\\u96EA\\u82B1 snowflake \\u7B97\\u6CD5\\u5C31\\u53EF\\u4EE5\\u4F7F\\u7528\\u4E8C\\u8FDB\\u5236\\u7F16\\u7801\\u6570\\u636E\\uFF0C\\u5C06\\u673A\\u623F\\u4FE1\\u606F\\u3001\\u65F6\\u95F4\\u6233\\u3001\\u673A\\u5668\\u4FE1\\u606F\\u3001\\u81EA\\u589E\\u6570\\u7B49\\u4F5C\\u4E3A\\u4E8C\\u8FDB\\u5236\\u503C\\uFF0C\\u7136\\u540E\\u8F6C\\u6362\\u4E3A 10 \\u8FDB\\u5236\\u7684\\u6570\\u5B57\\u3002\\u8FD9\\u6837\\u80FD\\u591F\\u4FDD\\u8BC1\\u552F\\u4E00\\u3001\\u4E5F\\u80FD\\u591F\\u4FDD\\u8BC1\\u8D8B\\u52BF\\u9012\\u589E\\u3002\"), mdx(\"p\", null, \"\\u4F46\\u662F\\u5176\\u4E2D\\u7684\\u65F6\\u95F4\\u6233\\u4FE1\\u606F\\u7684\\u83B7\\u53D6\\u4F9D\\u8D56\\u4E8E\\u673A\\u623F\\u7684\\u65F6\\u95F4\\uFF0C\\u5982\\u679C\\u51FA\\u73B0\\u65F6\\u95F4\\u56DE\\u62E8\\u53EF\\u80FD\\u51FA\\u73B0\\u91CD\\u590D\\u95EE\\u9898\\u3002\"), mdx(\"p\", null, \"\\u8FD8\\u6709\\u66F4\\u591A\\u7684\\u65B9\\u6848\\uFF0C\\u90FD\\u6709\\u5404\\u81EA\\u7684\\u9002\\u7528\\u73AF\\u5883\\uFF0C\\u8FD9\\u91CC\\u4E0D\\u518D\\u6DF1\\u7A76\\u3002\"), mdx(\"h3\", null, \"3. sharding \\u5206\\u7247\\u548C\\u67E5\\u8BE2\"), mdx(\"p\", null, \"\\u4E00\\u4E2A\\u8868\\u7684\\u6570\\u636E\\u6309\\u7167\\u67D0\\u4E2A\\u89C4\\u5219\\u5206\\u914D\\u5230\\u4E0D\\u540C\\u7684\\u6570\\u636E\\u5E93\\u7684\\u4E0D\\u540C\\u7684\\u8868\\u91CC\\uFF0C\\u4E00\\u822C\\u628A\\u8FD9\\u4E2A\\u53EB\\u505A sharding / \\u5206\\u7247\\u3002\"), mdx(\"p\", null, \"\\u5206\\u7247\\u7B56\\u7565\\u7C7B\\u578B\\u975E\\u5E38\\u591A\\uFF0C\\u5927\\u81F4\\u5206\\u4E3A Hash + Mod\\u3001Range\\u3001Tag \\u7B49\\u3002\"), mdx(\"p\", null, \"\\u662F\\u5426\\u4F1A\\u67E5\\u8BE2\\u6240\\u6709\\u7684\\u5E93\\u548C\\u8868\\u662F\\u6839\\u636E\\u5206\\u7247\\u952E\\u51B3\\u5B9A\\u7684\\uFF0C\\u5982\\u679C SQL \\u4E2D\\u4E0D\\u5305\\u62EC\\u5206\\u7247\\u952E\\uFF0C\\u5C31\\u4F1A\\u67E5\\u8BE2\\u6240\\u6709\\u5E93\\u548C\\u8868\\uFF0C\\u8FD9\\u4E2A\\u548C\\u662F\\u5426\\u6709 like \\u6CA1\\u6709\\u5173\\u7CFB\\u3002\"), mdx(\"p\", null, \"\\u5728\\u67E5\\u8BE2\\u7684\\u65F6\\u5019\\uFF0C\\u5982\\u679C\\u67E5\\u8BE2\\u6761\\u4EF6\\u6307\\u5B9A\\u4E86 sharding \\u5B57\\u6BB5\\uFF0C\\u90A3\\u5C31\\u53EF\\u4EE5\\u76F4\\u63A5\\u5B9A\\u4F4D\\u5230\\u6570\\u636E\\u5E93\\uFF0C\\u4E00\\u822C\\u5728\\u67E5\\u8BE2\\u6709\\u9650\\u6570\\u636E\\u7684\\u65F6\\u5019\\u80FD\\u591F\\u8BA1\\u7B97\\u51FA\\u6765\\u3002\"), mdx(\"p\", null, \"\\u5982\\u679C\\u4E0D\\u6307\\u5B9A sharding \\u5B57\\u6BB5\\uFF0C\\u6BD4\\u5982\\u6A21\\u7CCA\\u67E5\\u8BE2\\uFF0Cjoin \\u64CD\\u4F5C\\u7B49\\uFF0C\\u90A3\\u4E48\\u5C31\\u6BCF\\u4E2A\\u6570\\u636E\\u5E93\\u548C\\u6BCF\\u4E2A\\u6570\\u636E\\u8868\\u90FD\\u8FDB\\u884C\\u67E5\\u8BE2\\uFF0C\\u7136\\u540E\\u5404\\u4E2A\\u67E5\\u8BE2\\u7ED3\\u679C\\u6C47\\u603B\\u3002\\u5982\\u679C\\u6709 order by, group \\u7B49\\u540E\\u7EED\\u5904\\u7406\\u7684\\u64CD\\u4F5C\\uFF0C\\u5C31\\u9700\\u8981\\u521B\\u5EFA\\u4E34\\u65F6\\u8868\\uFF0C\\u7136\\u540E\\u8FDB\\u884C order by, group \\u7B49\\u7B49\\u5904\\u7406\\uFF0C\\u8FD9\\u79CD\\u64CD\\u4F5C\\u7684\\u6027\\u80FD\\u4F1A\\u5DEE\\u4E00\\u4E9B\\u3002\"), mdx(\"h2\", null, \"\\u4E94\\u3001NoSQL\"), mdx(\"p\", null, \"\\u8FD9\\u5757\\u5185\\u5BB9\\u66F4\\u591A\\uFF0C\\u6162\\u6162\\u518D\\u66F4~~\"));\n}\n;\nMDXContent.isMDXComponent = true;"}}}}